Android支持库:保留片段生命周期

时间:2014-06-24 12:18:48

标签: android android-fragments android-support-library

我正在经历一个保留片段的奇怪行为。这是我的情况: 我有一个保留的片段,当它的托管活动中发生配置更改时,没有像我期望的那样重新创建它(即,它的onCreate方法没有被调用)。奇怪的是以下内容:如果由于内存压力而重新创建托管活动(您可以通过打开许多其他应用程序来强制执行此操作,具体取决于您设备上的可用RAM),它会在其onCreate和中收到bundle!= null保留片段的onCreate方法也被调用。这对我来说似乎很奇怪,因为它是一个保留的片段。我在哪里可以找到与此行为相关的文档?

如果您想重现此行为,可以尝试使用“FragmentRetainInstanceSupport.java”中声明的支持库示例“Retain Instance”

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  

如果由于内存压力而重建托管活动(你可以   根据可用的RAM打开许多其他应用程序强制执行此操作   在你的设备上)它在onCreate和它接收bundle!= null   保留片段的onCreate方法也被调用

如果存在导致Activity被杀的记忆问题,我对Fragment寄予厚望。如果该应用程序被杀死,那么一切都无法生存。你无法逃避生命周期。您可以减少重新创建FragmentActivity的机会,但无法阻止它。

您必须考虑到这一点对您的应用进行编程。一切都可能在任何时候被杀死,你的应用程序需要在没有任何例外的情况下生存,你不能依赖于不被重新创建或杀死的东西。