Выполняйте очистку потоков, когда служба собирается быть убитой в Android - PullRequest
0 голосов
/ 16 февраля 2012

Когда метод onDestroy вызывается из-за нехватки памяти, в методе я должен сделать что-то вроде сообщения рабочим потокам, что они должны завершить свою работу, а затем ждать их завершения, прежде чем позволить системе завершить процесс хостинга?Если так, сколько времени система позволит мне ждать?Должен ли я сделать рабочие потоки способными закончить себя как можно быстрее в любое время?

Или я совершенно не прав?


Или, может быть, я должен спросить:

Где самый безопасный или лучший способ очистить рабочие потоки?Или какой самый безопасный или лучший способ сделать это.Или такого вообще нет, и следует подготовить ветку, которую можно в любой момент убить без предупреждения?

1 Ответ

0 голосов
/ 16 февраля 2012

IIRC методы жизненного цикла позволят вам подождать 1-2 секунды, прежде чем отобразить сообщение «активность не отвечает».В общем, вы не можете ничего ждать в этих методах.

onDestroy - последний метод жизненного цикла, который не вызывается, когда приложение находится просто в фоновом режиме.Хотите, чтобы ваши темы работали в фоновом режиме?Это зависит от вашего приложения, но обычно это плохое поведение.

Я бы посоветовал сделать паузу в onPause(), что происходит, когда приложение больше не находится на переднем плане, или, по крайней мере, в onStop(), когда приложение больше не видно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...