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

Другие вопросы по тегам