可以在进程被杀死后重用一个片段吗?

时间:2014-05-28 08:49:56

标签: android android-fragments

情景:

  1. Android应用的ActivityFragment
  2. 用户通过按主页键将应用程序发送到后台。
  3. 两个小时后,Android操作系统终止了这个过程以释放资源。
  4. 用户通过Recent Apps List
  5. 切换回应用

    活动的onCreate方法现在可以使用fragmentManager.findFragmentByTag() *作为best practice cites来查找现有的片段。然而,将这个旧片段添加到活动中将不会使片段呈现。我不确定我是否做错了什么,或者这根本不是重用旧片段的支持用例。

    我是否必须对此方案实施特殊处理(即new向上片段而不是重用旧方案?如果是这样,在onCreate中检测到该进程已被杀死并重新启动的最佳做法是什么?

    编辑1 :*)我正在使用DDMS来杀死进程。这可能无法模拟操作系统正确终止进程的方式,例如未调用onDestroy()。当操作系统调用onDestroy()时,anoyone是否知道旧片段是否从FragmentManager中释放出来?如果是这种情况,这个问题没有实际意义。

1 个答案:

答案 0 :(得分:1)

不,一旦进程被终止,您就无法重用Fragment。一旦该进程被终止,Android主线程上的app就不再存在,因此必须启动该活动的新实例。

您的应用程序以Manifest文件中的主要活动开始,并加载相应的视图和片段。请仔细阅读Android的Activity生命周期,了解有关它的更多信息。 这将教您如何在后台和不使用时维护您的活动:http://developer.android.com/training/basics/activity-lifecycle/index.html