首页 > 解决方案 > 当应用程序处于后台时,变量保持其值多长时间?

问题描述

在我的 android 应用程序中,MainActivity 启动。然后用户打开具有一个片段的 SecondActivity。在与片段进行一些交互后,用户通过按主页按钮将应用程序发送到后台,但没有关闭应用程序。2 小时后,用户再次从后台运行应用程序并重新创建片段,但生命周期不起作用!(onStart()onResume()不起作用。)

我为这样的捆绑节省了一些价值:

@Override
    public void onSaveInstanceState(@NonNull Bundle outState) {
        outState.putBoolean("myFlag", true);
        super.onSaveInstanceState(outState);
    }

现在,我有两个问题:

第一:从后台再次运行时重新创建活动需要多长时间?

二:再次重新创建活动后,为什么像布尔值这样的变量没有再次初始化?

谢谢。

标签: androidandroid-lifecycle

解决方案


1.) 运行活动意味着 onCreate 召回,所有字段都将更新。

2.)正如我所说,当重新创建一个活动时,如果你想存储任何东西,它的所有成员都会更新,使用 sharedpreferences 或数据库。

如果还有更多未解决的问题,请在评论中更新我。


推荐阅读