Ръководства

Какво е Android Looper?

Android Looper е клас Java в потребителския интерфейс на Android, който заедно с класа Handler обработва потребителски интерфейси като кликвания върху бутони, прерисуване на екрана и превключватели за ориентация. Те могат също да се използват за качване на съдържание в HTTP услуга, преоразмеряване на изображения и изпълнение на отдалечени заявки. Ключовата способност на тези класове е да могат да прилагат модел на паралелност.

Предназначение

Android предотвратява програмистите да актуализират компонентите на потребителския интерфейс от повечето нишки, с изключение на основната нишка. Използвайки Android Looper и Android Handler, може да се създаде отделна нишка, която да актуализира потребителския интерфейс. Процесът включва създаване на клас Handler, който е свързан с първичната нишка, и след това прикачване на управляема команда към нея. След това командата се изпълнява по-късно чрез Looper.

Android Looper

Класът на Android Looper съдържа MessageQueue и той е свързан само с нишката, от която е създаден. Имайте предвид, че тази връзка не може да бъде прекъсната и че Looper не може да бъде прикрепен към друга нишка. Освен това Looper се намира в локално хранилище и може да бъде извикан само от статичен метод. Методът за подготовка проверява дали Looper вече е свързан с нишка и след това статичният метод създава Looper. След това може да се използва цикъл за проверка на съобщения в опашката.

Android манипулатор

Класът Android Handler се грижи за добавянето, премахването и актуализирането на съобщения в рамките на определена MessageQueue. Манипулаторите са прикрепени към Loopers и свързаните с тях нишки, но множество манипулатори могат да бъдат прикрепени към една нишка. Когато методите се предават на манипулатора, в MessageQueue се появява ново съобщение. Целевото поле на съобщението е конфигурирано към екземпляра на манипулатора, така че когато Looper обработва съобщението, то насочва съобщението обратно към манипулатора, като по този начин позволява събитието да бъде обработено в съответната нишка.

Допълнителна информация

Android Looper съдържа 11 метода, включително void, getMainLooper, getThread, loop, myLooper, myQueue, подгответе, подгответеMainLooper, quit, setMessageLogging и toString. Ползата от използването на класовете Android Looper и Android Handler е, че те не позволяват на разработчиците да блокират достъпа до компонентите на потребителския интерфейс поради притеснението от паралелния достъп, т.е.

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