#android #lifecycle
#Android #жизненный цикл
Вопрос:
Я реализовал сохранение / загрузку состояния приложения в OnSave / RestoreInstanceState и onCreate в одном из действий моего приложения для Android. Есть ли какой-либо способ заставить эмулятор удалить мое приложение из памяти, чтобы вызывался onRestoreInstanceState?
В настоящее время похоже, что мое приложение просто остается в памяти (на время дольше, чем я готов ждать в любом случае). Когда я нажимаю кнопку «Домой», когда моя активность активна, я получаю следующие вызовы методов:
- onSaveInstanceState
- onStop
Когда я повторно активирую свое приложение, все, что я получаю, это
- onRestart
Есть ли в эмуляторе какой-либо способ принудительно закрыть мое приложение, чтобы onRestoreInstanceState и / или onCreate вызывались снова?
Комментарии:
1. Не совсем. Но если вы откроете кучу других приложений, это должно в конечном итоге вытеснить ваше из памяти.
2. Да, это был мой запасной вариант. Однако это кажется немного утомительным.
3. Вы можете попробовать протестировать его на HTC Desire. У моего, похоже, доступно только около 50 Тыс.
4. Если для вашего действия не установлена фиксированная ориентация или вращение вручную, нажмите Ctrl F12, чтобы повернуть эмулятор. Это приведет к изменению конфигурации, и это все, что вам нужно для действительно проверки состояния сохранения / восстановления.
Ответ №1:
Используйте приложение DevTools («Немедленно уничтожьте действия»).
Комментарии:
1. В более новых версиях Android (скорее всего, 4.0 ) эта опция теперь является частью раздела «Параметры разработчика» («Не сохранять действия») в обычном приложении «Настройки» (в разделе «Система»).
2. Поскольку в Google Play есть несколько приложений Developer Tools, я упомяну, что приложение от PandaDev (не связанное со мной) предлагало «Немедленно уничтожить действия», и это сработало для меня на моем Nexus One под управлением Gingerbread. Однако на моем Nexus 7 проверка этой опции постоянно приводила к сбою приложения, но благодаря приведенному выше комментарию я вижу, что приложение на этом устройстве мне не понадобится.
3. На Android 4.2 раздел «Параметры разработчика» по умолчанию скрыт, но его можно открыть после специального шага .