0

Я пытаюсь понять, что происходит с Fragments, когда Activity воссоздается после того, как процесс убит и Activity destroy.Почему onDestroy воссоздает фрагменты, когда активность воссоздается после уничтожения процесса

Сценарий: У меня есть приложение с несколькими действиями и конфигурацией нагрузки первого действия и используется другими видами деятельности. При низкой памяти при приложении на фоне процесс уничтожается. После того, как процесс был убит, если я выбираю приложение (из последних приложений), активность воссоздается. Но текущая активность при воссоздании будет пытаться получить доступ к конфигурации и сбоям приложения.

Итак, я решил закончить операцию, если конфигурация, не загруженная в активность, не восстановлена, и перейдите к первой активности, которая загружает конфигурацию. Это устраняет большинство проблем, но если у 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, но он не работает.

ответ

0

Вы можете попытаться сохранить конфигурацию в методе onPause() и перезагрузить ее при восстановлении активности.

+0

Да, это можно сделать. Но мой процесс загрузки конфигурации слишком велик и его трудно сохранить всю информацию. – Libin

Смежные вопросы