In this tutorial, I will explain what Android's Looper, MessageQueue, and Handler classes are, how they are used to keep the UI thread alive, and how we can add them to a normal Java thread. This is the concept behind the HandlerThread class, but in this video, we will set up everything manually to understand the underlying concepts.
To create a looper thread, we have to call Looper.prepare in a Thread's run method to attach a Looper and a MessageQueue to it. When we call Looper.loop, the Looper loops through this MessageQueue in an infinite for-loop until we call quit on it. In each round, the Looper takes the next message with the current timestamp from the MessageQueue and dispatches it to the Handler that originally added it to the queue, where it will then be executed on the thread this Handler is attached to.
A Handler can send a message with arbitrary data fields (what, arg1, arg2, obj etc.) or post a runnable, which will then be added as a callback to an empty message internally. Optionally, a delay or time can be specified, for example with postDelayed or sendMessageDelayed. Messages without a callback (data messages) must be handled by overriding the handleMessage method in a Handler subclass or callback.
We will also take a quick look at ways to avoid memory leaks from non-static inner classes.
#AndroidStudio #AndroidDevelopment #code #programming
Смотрите видео LOOPER, MESSAGEQUEUE & HANDLER | BACKGROUND THREAD | ANDROID STUDIO TUTORIAL | ANDROID DEVELOPMENT онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь CodeWithRk 12 Август 2022, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 50 раз и оно понравилось людям.