HandlerThread – это наследник класса Thread, который создан для облегчения работы с лупером.

При старте потока HandlerThread, looper инициализируется методом Looper.prepare() и вызывается HandlerThread.onLooperPrepared(). Этот метод можно переопределить в наследнике класса HandlerThread и использовать для выполнения подготовки перед зацикливанием лупера. По-умолчанию onLooperPrepared() имеет пустую реализацию.

После onLooperPrepared() HandlerThread вызывает looper.loop().

Метод HandlerThread.getThreadHandler() возвращает объект Handler, который создается на связанном с тредом лупере.

Также HandlerThread имеет методы quit() и quitSafe(), которые делегируют вызовы на соответствующие методы класса Looper.