Является ли это примером избыточного использования обработчиков?
Да.
Цитируется из Документов :
Обработчик позволяет отправлять и обрабатывать объекты Message и Runnable.
связанный с MessageQueue потока. Каждый экземпляр обработчика
связан с одним потоком и очередью сообщений этого потока. когда
вы создаете новый обработчик, он привязан к потоку / очереди сообщений
поток, который его создает - с этого момента он будет доставлять
сообщения и runnables в эту очередь сообщений и выполнять их, как они
выйти из очереди сообщений.
Эти обработчики отправляют сообщения на один и тот же MessageQueue
, поэтому в любом случае второй будет запускаться после завершения первого, то есть он будет избыточным.
Более того, Handler
связан с Thread
, в котором он создан по умолчанию. Так что если Handler
создается на main thread
, вам не нужно указывать Looper.