Яка різниця між обробником і потоком в Android?

Потік є одиницею виконання, тоді як обробник, цикл і черга повідомлень є механізмами для надсилання та обробки повідомлень між потоками, що забезпечує безпечну фонову обробку та оновлення інтерфейсу користувача.

У режимі Thread регістр CONTROL контролює, чи буде виконання програмного забезпечення привілейованим чи непривілейованим, див. регістр CONTROL. У режимі обробника виконання програмного забезпечення завжди є привілейованим. Лише привілейоване програмне забезпечення може записувати в регістр CONTROL, щоб змінити рівень привілеїв для виконання програмного забезпечення в режимі потоку.

Обробник дозволяє надсилати та обробляти об’єкти Message і Runnable, пов’язані з MessageQueue потоку . Кожен екземпляр Handler пов’язаний з одним потоком і чергою повідомлень цього потоку. Коли ви створюєте новий обробник, він прив’язується до Looper.

Потік є одним із важливих понять в Android. Нитка є легкий підпроцес, який дає нам можливість виконувати фонові операції, не перериваючи інтерфейс користувача (UI). Коли програма запускається, вона створює єдиний потік, у якому всі компоненти програми запускаються за замовчуванням.

Android Handler є "потоково безпечним", хоча застосовувати цей термін тут некоректно. Handler відповідає лише за «доставку» Runnables і Messages до Looper, у вашому випадку головного Looper.