我编写了一个代码来启动 Activity A 到 Activity B。Activity A 和 B 都有片段实现。
场景:如果 Activity A 经常启动包含 Fragment 的 Activity B,那么大多数时候它错过了 Fragment.onDetach ..我检查了日志,通常它会给我以下覆盖方法日志:
- 附加
- 项目清单
- OnCreatView
- onViewCreate 然后按设备返回按钮
- 暂停
- 停止
- 销毁视图
- 分离
现在我从 Activity B 按下设备返回按钮,该按钮再次启动 Activity A,然后它启动 Activity B 并经常重复相同的序列,然后日志序列按以下顺序更改:
- 附加
- 项目清单
- OnCreatView
- onViewCreate 然后按设备返回按钮
- 暂停
- 停止
- onDestroyView 并重复
- onAttach 没有 onDetach
有时它也会在 onPause 之后重复相同的行为。
我在用
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment).addToBackStack(null).commitAllowingStateLoss(); to add fragment in Activity.
有什么我想念的……有什么建议吗?