Чтобы генерировать уведомления, мне нужно знать о том, как программно создавать низковольтные батареи и прерывания с низкой памятью. Может ли кто-нибудь предложить ваши предложения. Я знаю о намерениях.
Имитировать низкий уровень заряда аккумулятора и низкую память в Android
Ответ 1
Малая память также может быть смоделирована с помощью Background process limit
в настройках разработчика.
Перейдите к Settings > Developer options
. В разделе app
измените Background process limit
на Нет фоновых процессов
Теперь ваша активность будет убита при каждом переключении на другое приложение. Полезно для тестирования сохранения состояния и восстановления состояния.
Ответ 2
Чтобы активировать обратные вызовы onTrimMemory:
adb shell am send-trim-memory
например. adb shell am send-trim-memory com.example.app MODERATE
Ответ 3
В Android-эмуляторе вы можете установить статус питания, подключившись к консоли эмулятора и используя команду power
.
Что касается низкой памяти, вам просто нужно убедиться, что ваше приложение может быть убито без предупреждения, когда оно находится в фоновом режиме. Тестирование это один из немногих случаев, которые фактически требуют диспетчера задач на Android, или если вы используете Android 2.2, вы можете убивать приложения через настройки.
Существуют способы сокращения объема памяти, доступной для приложений, но я думаю, что они не нужны.
Ответ 4
Вы можете использовать меню эмулятора показанное на моем блоге. Просто telnet на localhost на порт вашего эмулятора (по умолчанию - 5554), а затем введите help. Следуйте инструкциям отсюда!
Ответ 5
Чтобы смоделировать предупреждение о низком заряде батареи, попробуйте выполнить эту команду так, как сказал Фрэнк:
power capacity 10 // It will set the battery level into 10%
Для низкой памяти:
ulimit -Sv 15000 //The current memory limit will set to 15000 Kb
Ответ 6
да, этот api вызывает тот же обратный вызов, который вы получили бы, если бы вы зарегистрировали контекст для ComponentCallback2, в частности ComponentCallback2 # onTrimMemory, это не было упомянутый здесь, поэтому я подумал, что дам это понять. Синтаксис этой команды:
am send-trim-memory [--user <USER_ID>] <PROCESS> [HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|RUNNING_CRITICAL|COMPLETE]
Примечание. Эта команда доступна только на устройствах, работающих с Marshmallow +