Handler с английского переводится как “обработчик”. Этот класс используется вместе с MessageQueue и Looper.
Handler используется для работы с MessageQueue, потому что давать программистам доступ к самой очереди сообщений было бы небезопасно. Так что как связующее звено между программистом и очередью сообщений используется хендлер.
Так же хендлер позволяет добавлять сообщения (объекты Message). Ну и собственно он может обрабатывать сообщения, от чего и пошло его название
Вот список важных методов Handler:
- post()/postDelayed(). Позволяет добавлять объекты Runnable в очередь сообщений
- obtainMessage(). Позволяет создавать свои сообщения (на самом деле это будет не создание новых сообщений, а переиспользование старых, потому что каждый раз выделять память на новое сообщение было бы нерационально, учитывая сколько сообщений проходит через очередь в секунду).
- sendMessage()/sendEmptyMessage()/sendMessageDelayed() и тд. Позволяет добавлять сообщения (объекты Message) в очередь сообщений.
- handleMessage(). Данный метод позволяет обрабатывать сообщения, от чего и пошло его название.
Тем не менее, данный метод не реализован в стандартном Handler, можно либо передать объект Handler.Callback, чтобы обрабатывать сообщения, либо же создать своего наследника Handler с реализованным методом handleMessage()