Android——Handler机制



什么是安卓消息处理机制?

消息机制本质:一个线程开启循环模式持续监听并依次处理其他线程给他发来的消息。

安卓消息机制:App启动会打开一个主线程,主线程开启一个无限循环模式(Looper.loop()),不断遍历自己的消息队列,如果消息队列有消息就按先进先出的的顺序取出来处理,如果队列中没有消息时,主线程会就自己堵塞。其他线程(即子线程)想和主线程通信,只要在主线程的消息队列插入消息,主线程则会不断从队列里拿出消息做处理。

安卓子线程是怎样向主线程通信原理

子线程通过Handler调sendMessage()方法,Message类为消息载体并持有Handler引用。通过MessageQueue队列的enqueueMessage()方法,将Message消息载体插入消息队列。

主线程调用Looper的loop()方法不断循环监听MessageQueue队列,loop()方法中,Looper调用MessageQueue.next()方法中取出Message消息载体,使用Message调用Handler的dispatchMessage()回调派遣Handler处理。

你可能感兴趣的:(Android——Handler机制)