Я пишу приложение, которое имеет длительное обслуживание.Как убить службу Android?
Я написал некоторый код с сохранением состояния в методе onDestroy
службы.
Мое намерение состоит в том, что это должно быть вызвано, если служба когда-либо была убита Android из-за давления памяти.
Как я могу имитировать обслуживание, убиваемое давлением памяти?
Я пробовал adb shell am force-stop com.example.app
, но метод службы onDestroy
службы не вызывался.
Является ли onDestroy
разумным сайтом для обслуживания-shutdown-state-saving?
Если да, то как я могу заставить onDestroy
службы вызывать Android для целей отладки/тестирования?
«Как я могу имитировать обслуживание, которое убивает давление памяти?» - служба никогда не «убивается давлением памяти». Весь процесс прекращается из-за давления памяти. Независимо от того, вызывает ли это 'onDestroy()' или нет, это немного зависит от экологических соображений. «Как я могу заставить службу onDestroy вызываться Android?» - вызовите 'stopService()' из вашего тестового набора, указав «Intent», идентифицирующую вашу службу. – CommonsWare
@CommonsWare «То, что вызывает триггер onDestroy() или нет, немного зависит от экологических соображений». Если 'onDestroy' не всегда вызывается, где я должен разместить код с сохранением состояния? – fadedbee
«Если onDestroy не всегда называется, где я должен разместить код с сохранением состояния?» - в момент изменения состояния. – CommonsWare