首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

全面理解Handler-1:理解消息队列,手写消息队列

全面理解Handler-1:理解消息队列,手写消息队列

前言Handler机制这个话题,算是烂大街的内容。但是为什么偏偏重拿出来“炒一波冷饭”呢?因为自己发现这“冷饭”好像吃的不是很明白。最近在思考几个问题,发现以之前对Handler机制的了解是在过于浅显。什么问题?Handler机制存在的意义是什么?能否用其他方式替换?Looper.loop();是一个死循环,为什么没有阻塞主线程?用什么样的方式解决死循环的问题?

这里没有使用Looper这种思想,因为Looper本质就是使用ThreadLocal创建一个和主线程唯一关联的Looper实例,并以此保证MessageQueue的唯一性。知道这个原理之后,这个demo。直接在主线程中newMessageQueue(),是同样的道理,然后调用loop()方法死循环轮询MessageQueue中的Message,不为null则执行。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180927A05NYR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券