Handler的机制总结
如何保证线程间Looper的唯一性
Android中通过Looper.prepare()生成一个Looper对象
将Looper对象保存在ThreadLocal中
从ThreadLocal...,其实也就是通过epoll中的timeout来进行阻塞唤醒的...., 当链表中没有消息的时候, MessageQueue.next()会走到以下逻辑开始处理Idlehandler
// 当消息链表中没有需要处理的消息时...作用
Handler中存在SyncBarrier, SyncBarrier的主要作用是阻拦当前链表中的消息执行, 插入高优先级任务优先执行 ....例如, 当前主线程中有A->B->C->D->E五个消息, 而当E需要高优执行的时候(其实就是Android中的VSync重绘任务), 其中A为SyncBarrier, 则当轮到A执行的时候, MessageQueue