为什么onDestroy在进程被杀死后重新创建活动时重新创建碎片

时间:2015-10-31 01:25:30

标签: android android-fragments android-activity

我正在尝试了解Fragments在进程被杀死后Activity重新创建Activity destroy时会发生什么。

场景:我有一个具有多个活动的应用程序,第一个活动加载配置并由其他活动使用。在背景上应用程序时内存不足,进程被终止。 如果我选择了应用程序(来自最近的应用程序),则该进程终止后,该活动正在重新创建。但重新创建时的当前活动将尝试访问配置和应用程序崩溃。

因此,如果在重新创建活动时未加载配置,我决定完成活动,并导航到加载配置的第一个活动。 这解决了大多数问题,但是如果Activity有片段,并且在重新创建时发生onDestroy,那么当onDestroy尝试重新创建片段时应用程序崩溃。

at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1120)
at android.support.v4.app.FragmentManagerImpl.dispatchReallyStop(FragmentManager.java:1956)
at android.support.v4.app.FragmentActivity.onReallyStop(FragmentActivity.java:790)
at android.support.v4.app.FragmentActivity.doReallyStop(FragmentActivity.java:767)
at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:314)

我尝试删除onDestory中的片段,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您可以尝试在onPause()方法中保存配置,并在重新创建活动时重新加载。