Посібники

Що таке Android Looper?

Android Looper - це клас Java в інтерфейсі користувача Android, який разом із класом Handler обробляє події інтерфейсу користувача, такі як клацання кнопок, перемальовування екрана та перемикачі орієнтації. Вони також можуть використовуватися для завантаження вмісту в службу HTTP, зміни розміру зображень та виконання віддалених запитів. Ключовою здатністю цих класів є можливість реалізації шаблону паралельності.

Призначення

Android забороняє програмістам оновлювати компоненти інтерфейсу користувача для більшості потоків, за винятком основного потоку. Використовуючи Android Looper та Android Handler, можна створити окремий потік, який оновлює інтерфейс. Процес передбачає створення класу Handler, який пов'язаний з основним потоком, а потім приєднання до нього виконуваної команди. Потім команда потім реалізується через Looper.

Android Looper

Клас Android Looper містить MessageQueue, і він пов'язаний лише з потоком, з якого він був створений. Зверніть увагу, що це з'єднання не може бути розірване і що петлювач не можна приєднати до будь-якого іншого потоку. Крім того, Looper лежить у локальному сховищі, і його можна викликати лише за допомогою статичного методу. Метод підготовки перевіряє, чи Looper вже пов'язаний з потоком, а потім статичний метод створює Looper. Потім цикл може бути використаний для перевірки повідомлень у черзі.

Обробник Android

Клас обробника Android бере на себе відповідальність за додавання, видалення та оновлення повідомлень у межах певної черги повідомлень. Обробники приєднані до Loopers та пов'язаних з ними ниток, але кілька обробників можуть бути приєднані до одного потоку. Щоразу, коли методи передаються обробнику, у MessageQueue з'являється нове повідомлення. Цільове поле повідомлення налаштовано на екземпляр Handler, тому, коли Looper обробляє повідомлення, воно направляє повідомлення назад до Handler, таким чином дозволяючи обробляти подію у відповідному потоці.

Додаткова інформація

Android Looper містить 11 методів, включаючи void, getMainLooper, getThread, loop, myLooper, myQueue, підготовку, підготовкуMainLooper, вихід, setMessageLogging і toString. Перевага використання класів Android Looper та Android Handler полягає в тому, що вони не дозволяють розробникам блокувати доступ до компонентів інтерфейсу через турботу про паралельний доступ, тобто користувач натискає кнопку під час оновлення.

$config[zx-auto] not found$config[zx-overlay] not found