Android Simulator: простой способ имитировать перезапуск процесса из-за низкой памяти?

Как я только что узнал, Android оставляет за собой право убить фоновый процесс приложения в любой момент, чтобы перезагрузить ОЗУ. Приложение все еще работает и может быть возобновлено, но все мои статические переменные исчезли (см. эту статью).

Я хотел бы моделировать поведение моего приложения в этом сценарии. Какой самый простой способ сделать это? Конечно, должен быть более простой и предсказуемый способ, чем писать некоторые дополнительные приложения, которые выделяют много памяти.

Ответы

Ответ 2

короткий ответ: измените ориентацию, если вы используете эмулятор. если вы используете фактическое устройство, измените настройки, перейдя в настройки → параметры разработчика → не сохраняйте действия.

см. мой ответ на этот и этот для подробного объяснения.

Ответ 3

Альтернативный способ - создать супер базовое приложение, которое вызывает killBackgroundProcesses() для вашего пакета, потому что этот метод "такой же, как ядро, убивающее эти процессы для восстановления памяти, система позаботится о необходимости перезапуска этих процессов в будущем по мере необходимости".

Ответ 4

Чтобы убить фоновые процессы (но все же повторно запускать через историю), вы можете просто использовать команду оболочки диспетчера действий на симуляторе или устройстве:

$ adb shell am kill com.my.package