Handler大概原理

Handler使用方式 因发送消息到消息队列的方式不同而不同,,使用Hnadler.sendMessage()  和 Handler.post()  Handler中有四个重要的类 处理器类(Handler),消息队列类(MessageQueue),循环器类(looper)消息类(Message)

大概原理   :   创建主线程时,会自动调用ActivityThread的一个静态main(), main()方法会调用Looper.prepareMainLooper()为主线程生成一个Looper对象,同时也会生成其对应的MessageQueue对象,既主线程的Looper对象自动生成,不需要手动生成,而子线程的Looper对象则需手动通过Looper.prepare()创建,在子线程若不手动创建Looper对象,则无法生成Handler对象

handler机制用来实现线程之间的通信

Handler发送消息到MessageQueue消息队列中 , looper通过dispatchMessage()方法将消息回调给Handler,Handler在通过handlerMessage() 方法完成消息处理  如下图所示

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容