#android
#Android
Вопрос:
Я пытаюсь проверить, как мое приложение обрабатывает уничтожение Android ActivityManager
(а затем перезапускается из-за аварийных событий). Другими словами, я хочу принудительно отправить сообщение:
I/ActivityManager( 333): No longer want com.myname.myapp (pid 4444): hidden #22
Есть ли способ надежно заставить ActivityManager
«Больше не хотеть» мое приложение?
Несколько приемов, которые я знаю для завершения процессов (однако цель этого вопроса — найти что-то, чтобы вызвать ActivityManager
метод «Больше не хочу»).
- Используя управление приложениями, нажмите кнопку «Принудительная остановка».
Проблема в том, что, похоже, он не всегда ведет себя так же, как методActivityManager
«Больше не хочу». - Запускайте множество приложений для загрузки памяти.
Проблема в том, что это ненадежно и отнимает много времени. Иногда я могу запускать множество приложений, и я не вижу ни звукаActivityManager
. - OS API
killBackgroundProcesses()
.
Проблема в том, что было неясно, будет ли явный вызовkillBackgroundProcesses()
вести себя точно так же, как методActivityManager
«Больше не хочу».
Ответ №1:
В более новой версии Android есть опция «Не сохранять действия». После выбора этого каждое действие уничтожается, как только пользователь покидает действие. Например, у нас есть действия A и B. Нормальный поток
- Действие A запускает действие B
После выбора Не сохранять действия
- Действие A запускает действие B
- B -> onCreate , A -> onDestroy (обратите внимание, что A не вызывает finish после запуска действия B)
- Нажатие кнопки «Назад» возвращает вас к действию A