HandlerThreads автоматически уничтожается ОС Android?
Предположим, у меня есть HandlerThread
в Application
класс, который я использую, чтобы сделать некоторую фоновую работу. Нужно ли мне самому останавливать этот поток или он будет убит ОС вместе с Application
пример? Мой код выглядит примерно так.
public class MyApplication extends Application {
private Handler handler;
@Override
public void onCreate() {
super.onCreate();
HandlerThread handlerThread = new HandlerThread("WorkerThread");
handlerThread.start();
this.handler = new Handler(handlerThread.getLooper());
}
public void runInBackground(Runnable runnable) {
this.handler.post(runnable);
}
}
1 ответ
В общем случае вам не нужно беспокоиться о завершении потоков, когда приложение завершается. Однако приложение не всегда закрывается немедленно, когда пользователь покидает приложение. В некоторых случаях может иметь смысл остановить фоновые потоки, например, чтобы оптимизировать срок службы батареи, когда они продолжают выполнять задачи, которые больше не нужны.
Kaamel