关于Looper阻塞原理
来源:7-3 主线程的 Looper 为什么不会导致应用 ANR ?

AndroidMsky
2019-05-02
老师您好这里可以这样理解吗?
Looper阻塞了自己,因为MyLooper在主线程。那么整个主线程处于一个阻塞的状态,主线程的一切活动都要经过MyLooper,所以比如有用户输入,或者更新ui等操作,MyLooper就被唤醒了,所以主线程虽然阻塞了,但是不会卡顿。 不知道我理解的对不对?
写回答
1回答
-
bennyhuo
2019-05-02
对的,主线程的事件都需要发送到主线程的looper也就是Looper.mainLooper拿到的。如果主线程没有事件,那么这个Looper就会阻塞在poll_once那里。当然,主线程的事件其实一直比较多,一般不会阻塞哈哈
10
相似问题