android学习之Handler消息机制原理

android学习之Handler消息机制原理

1.Handler消息机制

android学习之Handler消息机制原理

2.Handler消息处理流程图

android学习之Handler消息机制原理

总结:

运作方式
每一个Handler实例只能与一个Thread和这个Thread的MessageQueue关联。

当我们在Thread中创建一个新的Handler时,会绑定这个Thread和Thread的MessageQueue,之后Handler允许我们向MessageQueue发送Message和Runnable,并在消息出列时处理它们。

Handler的2个主要用途:

    1. 让Message和Runnable可以延迟执行;
    1. 在另外一个线程中执行处理。

用法

通过Post开头和sendMessage开头的方法可以发送消息到MessageQueue。

    1. post开头的方法可以向队列插入Runnable;
    1. sendMessage开头的方法则用于来送Message,Message将在handleMessage方法中被处理。
    1. post和send方法既可以让消息“实时”被处理(相对于延时),也可以设置特定的时延,延时去处理。

建议
应用进程中的的主线程是专门用于管理顶层的数据的,例如activity/广播/窗口等,不宜处理其他我们定义的耗时操作,因此我们应该创建自己的工作线程,通过Handler来向线程的MessageQueue发送要执行的任务。

  1. 参考博客: https://blog.****.net/wilschan0201/article/details/72985011.