我有一个非常有趣的案例。我在Android的开发人员选项菜单中启用了“不保留活动”选项。 现在,当我启动应用程序时,一切正常,应用程序可以正常启动。
稍后,当我按下主页按钮并退出应用程序时,我看到调用了活动的onDestroy(),片段的onDestroy()和onDetach()回调。但是,当我再次启动该应用程序时,会调用该片段的onCreate()和onCreateView()回调,即使我尚未添加该片段。
当应用程序的框架初始化并且这是第一次添加片段时,我看到片段仍然在布局内。我知道这是因为下面的片段对象首先必须为null,但不是。是我之前关闭应用程序后删除的片段。
Fragment fragment = getSupportFragmentManager().findFragmentById(rootFragmentLayoutId);
通常,上面的代码在第一次初始化时返回null,但是当我启用“不保留活动”选项时,它不再是null。
开发人员选项配置是否存在某种错误?如果没有,那怎么可能?由于这个问题,我担心我们的用户会遇到问题。