Отменить запускаемые файлы, отправленные обработчиком в поток обработчика в Android

#android #handler #runnable

#Android #обработчик #выполняемый

Вопрос:

Я использую HandlerThreaqd для обработки блоков кода, для запуска которых требуется много времени:

 HandlerThread t = new .....
Handler h = new Handler(t.getLooper());
while(true)
{
    h.post(new Runnable(){ public void run() { /* code that needs a lot of time */ } });
}
  

Понятно, что через некоторое время в очереди сообщений потока будут ожидающие выполнения, поэтому возможно ли отменить эти запускаемые файлы? кто-нибудь пытался это сделать?

Ответ №1:

вы можете отменить поток с помощью этого кода:

 h.removeCallbacks("name of your Runnable Obj");
  

Комментарии:

1. Первоначально я думал, что Handler у него есть своя очередь, но после просмотра исходного кода Android; кажется, что обработчик отправляет все MessageQueue , что делает ваш ответ правильным