Android - активность приложения остановлена, запущена по неизвестной причине - PullRequest
0 голосов
/ 28 марта 2012

Привет, у меня давно работает приложение для Android. Это для особой ситуации, когда нет интерактивного пользователя. Другие приложения не запускаются, потому что нет пользователя. Но я вижу, что основная активность моего приложения регулярно проходит через жизненный цикл остановки, создания, возобновления и т. Д. Я записал файл журнала, когда он выполнялся:

2012.03.28 05:31 Main activity created
2012.03.28 05:31 Main activity started
2012.03.28 05:31 Main activity resumed
2012.03.28 05:59 Main activity paused
2012.03.28 05:59 Main activity created
2012.03.28 05:59 Main activity started
2012.03.28 05:59 Main activity resumed
2012.03.28 05:59 Main activity stopped
2012.03.28 06:12 Main activity paused
2012.03.28 06:12 Main activity created
2012.03.28 06:12 Main activity started
2012.03.28 06:12 Main activity resumed
2012.03.28 06:12 Main activity stopped
2012.03.28 06:33 Main activity paused
2012.03.28 06:33 Main activity created
2012.03.28 06:33 Main activity started
2012.03.28 06:33 Main activity resumed
2012.03.28 06:33 Main activity stopped
2012.03.28 08:08 Main activity paused
2012.03.28 08:08 Main activity created
2012.03.28 08:08 Main activity started
2012.03.28 08:08 Main activity resumed
2012.03.28 08:08 Main activity stopped
...

Кто-нибудь знает почему? Спасибо.

Ответы [ 2 ]

1 голос
/ 28 марта 2012

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

Если у вас есть длительный процесс, который работает в фоновом режиме, и он должен работать непрерывно, лучше всего:сделайте это услугой переднего плана .Это придаст службе более высокий приоритет, чем фоновой службе, и система должна будет меньше ее прерывать.

Однако, если ваша служба НЕ ДОЛЖНА работать на переднем плане, вы должны реализовать службу для изящной обработкиразрушена и собрана системой, поскольку она обычно убивает службу по уважительной причине.Вывод вашего сервиса на передний план может повысить риск снижения общей производительности устройства, а также вызвать постоянное уведомление в панели уведомлений, что раздражает некоторых пользователей (по крайней мере, меня).

1 голос
/ 28 марта 2012

Похоже, что ОС убивает вашу деятельность, и вам следует вместо этого запустить ее как службу.http://developer.android.com/reference/android/app/Service.html

...