Есть ли способ принудительно удалить приложение из памяти в эмуляторе Android?

#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 раздел «Параметры разработчика» по умолчанию скрыт, но его можно открыть после специального шага .