繁体   English   中英

一个进程被杀死后,能否重用一个片段?

[英]Can one reuse a fragment after process has been killed?

场景:

  1. 一个Android应用程序具有带有FragmentActivity
  2. 用户通过按下主屏幕键将应用程序发送到后台。
  3. 两个小时过去了,Android OS终止了释放资源的过程。
  4. 用户通过“ 最近使用的应用程序列表”切换回应用程序

现在,Activity的onCreate方法将通过使用fragmentManager.findFragmentByTag() *找到现有的片段,这是最佳实践引用 但是,将这个旧片段添加到活动中将不会渲染该片段。 我不确定我是否做错了什么,或者这不是重用旧片段的受支持用例。

我是否必须对此场景进行特殊处理(即new Fragment而不是重用旧的)? 如果是这样,在onCreate中检测到该进程已被杀死并重新启动的最佳实践是什么?

编辑1 :*)我正在通过使用DDMS杀死进程来对此进行测试。 这可能无法模仿OS正确终止进程的方式,例如未调用onDestroy() 当操作系统调用onDestroy()时,anoyone是否知道是否从FragmentManager处置了旧片段? 如果是这样,这个问题就没有意义了。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM