随笔分类 -  android 消息机制

Handler sync barrier
摘要:Handler中的Message可以分为两类:同步消息、异步消息。消息类型可以通过以下函数得知 一般情况下这两种消息的处理方式没什么区别,只有在设置了同步屏障时才会出现差异。 1 什么是同步屏障 同步屏障可以通过MessageQueue.postSyncBarrier函数来设置 postSyncBa 阅读全文
posted @ 2019-12-25 14:20 mingfeng002 阅读(862) 评论(0) 推荐(0)
Android IdleHandler 原理浅析
摘要:IdleHandler:空闲监听器(就像我没事做了,在群里发了个表情,这时候其他人就知道我很闲了) 在每次next获取消息进行处理时,发现没有可以处理的消息(队列空,只有延时消息并且没到时间,同步阻塞时没有异步消息)都会通知这些订阅者。 适合做一些可有可无的东西,因为这个通知太不稳定了(就像别人说过 阅读全文
posted @ 2019-12-24 15:44 mingfeng002 阅读(4283) 评论(1) 推荐(0)
Android 消息传递机制
摘要:线程间消息传递机制 http://androidxref.com/6.0.1_r10/xref/frameworks/base/core/java/android/os/Handler.java http://androidxref.com/6.0.1_r10/xref/frameworks/bas 阅读全文
posted @ 2019-12-24 15:44 mingfeng002 阅读(1077) 评论(1) 推荐(0)
Android的消息机制之ThreadLocal的工作原理
摘要:ThreadLocal 可以把一个对象保存在指定的线程中,对象保存后,只能在指定线程中获取保存的数据,对于其他线程来说则无法获取到数据。 日常开发中 ThreadLocal 使用的地方比较少,但是系统在 Handler 机制中使用了它来保证每一个 Handler 所在的线程中都有一个独立的 Loop 阅读全文
posted @ 2019-12-06 10:46 mingfeng002 阅读(2911) 评论(0) 推荐(0)
Looper,Handler, MessageQueue
摘要:Looper Looper是线程用来运行消息循环(message loop)的类。默认情况下,线程并没有与之关联的Looper,可以通过在线程中调用Looper.prepare() 方法来获取,并通过Looper.loop() 无限循环地获取并分发MessageQueue中的消息,直到所有消息全部处 阅读全文
posted @ 2013-06-18 14:50 mingfeng002 阅读(255) 评论(0) 推荐(0)