android-源码分析
系统源码、各种应用框架源码解析
夜辉疾风
授人以鱼= =true?鱼:渔
展开
-
EventBus3.0源码解析——06. 总结
EventBus总结GitHub地址需要下载源码的,只需要将EventBus中的源码复制下来即可已将EventBus的整个源码解析过程上传了,点此下载大致流程懒加载的getDefault(),在注册的时候才初始化register(Object subscriber);//注册将当前class中所有带有@Subscribe注解的方法全部缓存到eventbus中缓存Map&...原创 2019-08-13 09:36:30 · 149 阅读 · 0 评论 -
EventBus3.0源码解析——05. unregister 注销
unregister (注销)unregister(Object subscriber)public synchronized void unregister(Object subscriber) { //获取当前Subscriber对象所缓存的所有eventType对象 //这里的eventType代表Subscriber对象中所有标记了@Subscribe的method ...原创 2019-08-12 17:04:17 · 372 阅读 · 0 评论 -
EventBus3.0源码解析——03. register 注册
register(注册)//注册事件接收EventBus.getDefault().register(this);//注册事件总线,在获取到eventbus单例后就可以注册了//注册方法中有两个至关重要的方法://1. 寻找到当前object对象中所有带@Subscribe注解标记的方法并保存起来//2. 对当前object对象中所有带@Subscribe注解的方法进行订阅publ...原创 2019-08-12 15:55:55 · 378 阅读 · 0 评论 -
EventBus3.0源码解析——02. init 初始化
init(初始化)getDefault()//volatile关键字在java并发编程中常用,比synchronized的开销成本要小,轻便//作用是线程能访问共享变量//共享变量包括所有的实例变量,静态变量和数组元素,他们都存放在堆内存中static volatile EventBus defaultInstance;//一个双重锁定的单例public static EventBu...原创 2019-08-12 15:45:24 · 150 阅读 · 0 评论 -
EventBus3.0源码解析——01.使用方法、@Subscribe
使用方法//注册事件EventBus.getDefault().register(Object subscriber);//注销事件EventBus.getDefault().unregister(Object subscriber);//发送EventBus.getDefault().post(Object event);//接收//这里的方法名不是关键所在,关键是发送的O...原创 2019-08-12 15:39:51 · 3753 阅读 · 0 评论 -
EventBus3.0源码解析——04. post 发送
EventBus的源码结构很清晰也值得我们去学习,分析的东西太多,只能分段。EventBus的GitHub地址想要将源码导入as中分析的,只需要下载EventBus文件夹下的代码即可初始化getDefault()//volatile关键字在java并发编程中常用,比synchronized的开销成本要小,轻便//作用是线程能访问共享变量//共享变量包括所有的实例变量,静态变量和数...原创 2019-08-08 18:01:15 · 306 阅读 · 0 评论 -
Android消息机制源码分析
Message//消息的传递包括内容、标识和Handler对象public class Message { //消息内容 public Object obj; //消息标识 public int what; //handler对象 public Handler target;}MessageQueue//消息队列的功能包含://1. ...原创 2019-07-18 18:21:59 · 144 阅读 · 0 评论