在Android开发的多线程应用场景中,Handler机制十分常用
将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理
下面是网上找到Handler流程图
一:基础知识
二:主要流程
Handler,loop轮询检测发送消息到MessageQueue入列,Handler回调方法处理消息,重写handMessage方法刷新ui
1.ActivityThread类 main()开始创建主线程,创建Looper,MessagerQuery
2.创建Handler对象 启动子线程,消息发送到消息队列中,然后循环读取消息
3.接受消息更新到ui上。
三:核心方法
四,初始化准备 创建 Looper 创建 MessageQueue
ActivityThread类 main()开始创建主线程
2,创建Looper
3,创建MessagerQuery
在app启动环节,创建主线程时,会自动调用ActivityThread
的1个静态的main()
;而main()
内则会调用Looper.prepareMainLooper()
为主线程生成1个Looper
对象,同时也会生成其对应的MessageQueue
对象
---------------------------------------------------------------------------------------------------------------
五, 初始化准备消息循环
六:创建消息对象 Message
七:在工作线程中 发送消息到消息队列中