4.4 Fragment生命周期错误,同时在多个Fragment上调用onCreateView()

Fragment lifecycle error in 4.4, onCreateView() is called on multiple fragments same time

我遇到错误:

错误,Android 框架正在同时调用多个片段的 onCreateView()

我有 导航抽屉 和 3 FrameLayout : A, B , C

1.) 通过抽屉的B选项,用户到达了B2 Fragment。

2.)用户在 B2 片段上按下 Home Key 并转到主屏幕。

3.) 用户 长按主页键 ,从 Android 的 最近 Activity 打开此应用程序

这里出现错误,如图所示 1 蓝色

我的多个片段正在获取 onCreate()onCreateView()onActivityCreated() 事件,因此我正在丢失 B2 和我的应用程序的片段状态转到默认片段 A1(从抽屉选项 A 打开)

我还用 onSaveInstanceState() 保存了我的 B2 状态,并用 onActivityCreated() 恢复了状态,但是这种方法不起作用,因为 onActivityCreated() 首先调用 B2,然后调用 A1。因此,我的 B2 片段在前景的屏幕上不可见。相反,A1 在屏幕上变得可见

注意:

我在所有情况下都使用.replace()切换片段

同样的代码在 Android 5.0+ (Lollipop) 中是 运行 正确的,在 4.4(和旧版本)

中是错误的

任何人都可以提出任何解决方法吗?

问题是由于开发人员设置 -> 不保留活动(用户离开后立即销毁每个 activity)

出现异常行为是因为我已将此选项 ON

此选项将在用户离开时回调每个 activity 的 onDestroy() 方法。就我而言,我使用的是 fragment 所以事件发生了:

Fragment.onSaveInstanceState()
Activity.onStop()
Fragment.onDestroyView()
Activity.onDestroy()

制造商默认为用户关闭此选项。

此选项描述了优缺点:Here