Я вижу много примеров в коде были мы видим следующую вещь:Почему создание HandlerThread для одной цели: чтобы передать это Looper к новому обработчику
HandlerThread thread = new HandlerThread("Thread1");
thread.start();
mLoadHandler = new Handler(thread.getLooper())
mLoadHandler.post(new Runnable() {
public void run() {
// run some code
//methodA();
}
});
вы можете найти также в:
Почему они создают HandlerThread
только для одной цели: чтобы передать это Looper
Ань ew Handler
. Почему бы не просто расширить HandlerThread
и сделать весь код (methodA()
)? ИЛИ создать экземпляр обработчика и позвонить туда:
Looper.prepare();
Looper.loop();
поэтому отправьте код пользовательского класса 'HandlerThread', а также grep официальный код Android и посмотрите, как Google использует класс' HandlerThread' – pskink
@RonTR. Я предоставил один сценарий в нижеприведенном ответе, в котором вы задаете вопрос о том, почему кто-то решил бы создать новый HandlerThread и отправить Runnables на него вместо того, чтобы поместить всю логику в собственный подкласс HandlerThread. Было ли это ясно, почему кто-то принял это дизайнерское решение? –
@DougStevenson, Спасибо за ответ, но я действительно не вижу никакой разницы, можете ли вы поделиться каким-то кодом, чтобы точно увидеть разницу? – RonTr