Looper分析
在 Handler 机制中,Looper 的作用是提供了一个消息循环 ( message loop ) 的机制,用于处理和分发消息。
Looper 是一个线程局部的对象,每个线程只能有一个 Looper 对象。它通过一个无限循环来不断地从消息队列中取出消息,并将消息分发给对应的 Handler 进行处理。
在使用 Handler 机制时,我们可以通过调用 Looper.prepare() 方法来创建一个Looper对象,并通过 Looper.loop() 方法来启动消息循环。在消息循环开始后,Looper会不断地从消息队列中取出消息,然后将消息分发给对应的 Handler 进行处理。
Handler 可以通过调用 post()、sendMessage() 等方法将消息发送到消息队列中,然后由 Looper 负责将这些消息取出并分发给对应的 Handler 进行处理。这样就实现了线程间的消息传递和处理。
Looper还可以通过调用 quit() 方法来终止消息循环,停止消息的处理。
下来以主线程内的 Looper 分析下。
Looper 创建/运行
App 运行,进程创建后主线程开始运行的入口在 ActivityThread 的 main(String[] args) 方法。
// ActivityThread.java sdk30
public static void main(String[] args) {
// ...... 一系列的初始化操作。
// 创建主线程的 Looper 并设置到 ThreadLocal,同时创建了绑定的 MessageQueue。
Looper.prepareMainLooper()<

最低0.47元/天 解锁文章
5600

被折叠的 条评论
为什么被折叠?



