Не могу остановить тему Android
Я не могу остановить эту тему, когда выхожу из своей деятельности или приложения.
public class MyThread extends Thread {
public Handler handler;
@Override
public void try{
Looper.prepare();
handler = new Handler();
Looper.loop();
}
}
...
myThread = new MyThread();
myThread.start();
final Runnable runnable = new Runnable() {
@Override
public void run(){
doSomething();
myThread.handler.postDelayed(this,30*1000);
}
};
myThread.handler.post(runnable);
@Override
public void onStop(){
myThread.handler.removeCallbacksAndMessages(null);
myThread.handler.getLooper().quit();
myThread = null;
}
Я могу подтвердить, что весь код onStop() запущен, но logcat по-прежнему показывает поток, работающий после того, как я выйду из приложения.
Я думаю, что даже если я вытащу аккумулятор и разбью устройство кувалдой, оно все равно будет работать, я все перепробовал.:~) Я должен что-то упустить в обработчиках, петлерах и потоках. Пожалуйста помоги.
1 ответ
Добавить логический флаг в Activity, скажем, "shouldThreadRun", установить значение true в onResume(), установить значение false в onPause()
В run() потока проверьте, выполняется ли еще действие
if(shouldThreadRun){
doSomething();
myThread.handler.postDelayed(this,30*1000);
}