源码分析
文章平均质量分 90
BigerBigerWolf
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
EventBus3.x源码分析之注册(一)
EventBus3.x源码分析之注册(一)官方链接:https://github.com/greenrobot/EventBus 官方图例: 主要流程:发布者通过post发送事件,EventBus将事件传递给提前注册好的订阅类。当然分发和处理事件可以指定不同线程,可以给订阅者设置优先级,可以设置粘性事件。索引方式提高性能等。EventBus的成员:EventBu...原创 2018-04-02 12:52:15 · 530 阅读 · 0 评论 -
EventBus3.x源码分析之注册(二)
EventBus3.x源码分析之注册(二)上篇文章分析了通用的订阅方法注册,其实EventBus3.0以后提供了一种更加高效的注册方式; 主要思路:就是配合meta包中提供的SubscriberInfo接口,通过EventBusAnnotationProcessor编译时生成所需的订阅信息,用者只需要在EventBus的构建类EventBusBuilder中通过addIndex添加即可完...原创 2018-04-02 13:10:14 · 406 阅读 · 0 评论 -
EventBus3.x源码分析之发送事件
EventBus3.x源码分析之发送事件发送事件时,最长使用的就是EventBus.getDefault().post(Object object)方法。 这里只分析非粘性事件发送,因为粘性事件已经再EventBus3.x源码分析之注册(一)中提到过,后续的逻辑同post。EventBus#public void post(Object event) { PostingTh...原创 2018-04-02 13:32:04 · 376 阅读 · 0 评论 -
SharedPreferences源码分析
初始化操作@Overridepublic SharedPreferences getSharedPreferences(String name, int mode) { // At least one application in the world actually passes in a null // name. This happened to work becaus...原创 2019-04-17 18:11:09 · 360 阅读 · 0 评论 -
Arouter源码分析
编译期:在每个module下包括app下,build文件夹com.alibaba.android.arouter.routes包下a、生成Arouter$$Roo$$(ModuleName)比如:app下生成Arouter$$Root$$appmodule-java下生成Arouter$$Root$$modulejava//维护所有的Grouppublic class ARoute...原创 2019-04-17 19:36:19 · 334 阅读 · 0 评论 -
RePlugin源码分析总结
简单介绍(官方wiki)RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。其主要优势有:极其灵活:主程序无需升级(无需在Manifest中预埋组件),即可支持新增的四大组件,甚至全新的插件非常稳定:Hook点仅有一处(ClassLoader),无任...原创 2019-06-14 17:57:33 · 622 阅读 · 0 评论 -
VirtualApk源码分析总结
与RePlugin不同,它进行了Framework层的hook。ClassLoader:通过配置,它可以将宿主的ClassLoader中的dexElements数组插入到插件的DexClassLoader的dexElements数组的前面,可以让Dex也能加载宿主中的类。Resources:通过配置,可以让宿主的Resources对象访问插件的资源,也可以自己创建插件中的Resour...原创 2019-06-14 18:02:56 · 487 阅读 · 0 评论 -
OkHttp3源码分析总结
//同步请求Response response = okHttpClient.newCall(request).execute();//异步请求okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { ...原创 2019-06-14 18:10:53 · 499 阅读 · 0 评论 -
RxJava2一次流程源码分析总结
//一次调用 Disposable disposable = Observable .create(new ObservableOnSubscribe<Integer>() { @Override public void subscribe(ObservableEmitter<Integer> e) thro...原创 2019-06-14 18:56:44 · 326 阅读 · 0 评论
分享