У меня есть поток, работающий в службе ... его метод запуска выглядит примерно так:
class Consumer implements Runnable {
public void run() {
while(!finished){
foo();
}
cleanUp();
}
...
}
Я запускаю поток в методе onStartCommand
службы и хочувыключите его, когда служба остановится.Теперь, чтобы остановить поток, я устанавливаю переменную finished
на true
(в методе onDestroy
службы).
public void onDestroy() {
...
finished = true;
...
}
(оказывается, что он отлично работает, когда я отлаживаю программу -> cleanUp
будет вызываться, как и ожидалось)
Без отладки, cleanUp
won 'Т быть названным.Кто-нибудь может мне это объяснить?Где моя ошибка?Спасибо