
Android源码解析
文章平均质量分 96
open-Xu
这个作者很懒,什么都没留下…
展开
-
Retrofit流程及设计模式全解析
版权声明:本文为openXu原创文章【openXu的博客】,未经博主允许不得以任何形式转载本文基于Retrofit 2.9.0版本源码分析,根据Retrofit源码窥探请求流程及框架设计中使用到的设计模式1. 代理模式在文章开始之前先介绍一下代理模式,因为这是Retrofit的入口,其他设计模式参考文章末尾的概括代理模式:为对象提供一种代理以控制这个对象的访问。某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。组成:抽象角色:通过接口.原创 2021-04-12 19:17:32 · 1215 阅读 · 6 评论 -
DataBinding为null?模块化开发中的DataBinding你需要注意了
这几天在新的项目开发中使用DataBinding遇到了一个DataBindingUtil.setContentView()返回null的问题,在解决问题的过程中顺便将DataBinding源码分析了一下,这篇文章中的示例可能有些人看不天明白,因为你没有遇到相同的问题,所以感觉很绕,如果有人遇到相同的问题,希望能帮助到你。如果你只是想了解DataBinding的原理,可以直接看中间的两个内容,分别讲解了DataBinding的使用和源码分析。1. 使用DataBinding遇到的问题公司项目在18年就全部原创 2020-11-30 17:30:11 · 7541 阅读 · 2 评论 -
Android源码解析--EventBus原理
版权声明:本文为openXu原创文章【openXu的博客】,未经博主允许不得以任何形式转载目录1. EventBus使用2. @Subscribe3. register()注册订阅者3.1 查找订阅方法3.2 subscribe()注册4. unregister()注销订阅5. post()发布事件6. 事件分发HandlerPosterBackgroundPoster && AsyncPoster7. 粘性事件Subscriber Index9. 总结EventBus是greenr.原创 2020-08-21 19:02:02 · 926 阅读 · 0 评论 -
Android源码解析--Context详解
目录Context的作用Context类的实现ContextWrapper与ContextImpl关联ApplicationServiceActivityContext数量Application ContextContext中的ResourcesContext的使用Android程序和一个Java程序最大的区别是Android的系统组件不能像普通Java程序通过new创建对象,而是通过系统提供的特殊方式,这是因为new出来的组件没有携带上下文环境Context。为什么要设计Context?其实说起来跟An原创 2020-08-12 17:41:37 · 745 阅读 · 3 评论 -
Android源码解析--深入Handler机制
目录1. Looper1.1 prepare()创建Looper1.2 loop()轮询1.3 主线程的Looper1.4 主线程looper死循环为什么不会导致ANR2. Handler2.1 发送消息2.2 分发消息3. MessageQueue★ 3.1 数据结构3.2 插入消息到队列enqueueMessage()3.3 从队列轮询取出消息next()4. Message5. ThreadLocal5.1 ThreadLocal、synchronized的区别5.2 ThreadLocal源码分析6原创 2020-08-20 10:59:30 · 533 阅读 · 0 评论 -
Activtiy完全解析(三、View的显示过程measure、layout、draw)
转载请标明出处: http://blog.youkuaiyun.com/xmxkf/article/details/52178553 本文出自:【openXu的博客】 在Activity完全解析的第一篇文章 Activtiy完全解析(一、Activity的创建过程)中,我们分析了从调用startActivtiy()到Activtiy创建完成的整个过程。其中step20:ActivtiyThread.h原创 2016-10-17 17:06:09 · 5165 阅读 · 1 评论 -
Activtiy完全解析(一、Activity的创建过程)
在Android系统中,我们比较熟悉的打开Activity通常有两种方式,第一种是点击应用程序图标,Launcher会启动应用程序的主Activity,我们知道Launcher其实也是一个应用程序,他是怎样打开我们的主Activity的呢?在应用程序被安装的时候,系统会找到AndroidManifest.xml中activity的配置信息,并将action=android.intent.action.MAIN&cat原创 2016-09-06 17:51:52 · 7344 阅读 · 4 评论 -
Activtiy完全解析(二、layout的inflate过程)
在上一篇文章《 Activtiy完全解析(一、Activity的创建过程)》中,我们探讨了Activity的启动,从startActivity()到进程创建,再到activity的创建,最后调用onCreate()方法。本篇博客我们接着onCreate()方法继续研究Activity加载layout的过程。我们写好layout布局后,在onCreate()方法中调用setContentView(la原创 2016-09-07 11:24:24 · 4686 阅读 · 0 评论 -
Android事件分发机制
转载请标明出处: http://blog.youkuaiyun.com/xmxkf/article/details/79481243 本文出自:【openXu的博客】 在平时的工作中,事件分发机制是非常重要的,之前虽然说比较了解,出现问题也能得到解决,但是一直没有系统的总结一下,有些地方也不能一句话说死,今天得空简单的总结记录如下:相关类及方法 重要方法的...原创 2018-03-08 10:47:38 · 993 阅读 · 0 评论