Message Queue
UI线程绑定了一个数据结构Message Queue,其以队列(FIFO)方式保存Message对象,UI线程以一个Looper对象(获取方法Looper.getMainLooper())以循环的方式监视附送是否有Message对象,如果发现有非null的Message对象,即进行回调处理。
队列中的Message由与UI线程绑定的Handler对象(new Handler(Looper.getMainLooper())进行消息发送sendMessage(),或post()。子线程通过使用该Handler将数据保存到Message中,继而向MQ中进行改善,此时将在UI线程完成回调处理(UI更新),从而完成了线程的同步和通信,并保证了单线程模型的实施。
UI线程绑定了一个数据结构Message Queue,其以队列(FIFO)方式保存Message对象,UI线程以一个Looper对象(获取方法Looper.getMainLooper())以循环的方式监视附送是否有Message对象,如果发现有非null的Message对象,即进行回调处理。
队列中的Message由与UI线程绑定的Handler对象(new Handler(Looper.getMainLooper())进行消息发送sendMessage(),或post()。子线程通过使用该Handler将数据保存到Message中,继而向MQ中进行改善,此时将在UI线程完成回调处理(UI更新),从而完成了线程的同步和通信,并保证了单线程模型的实施。