自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 问答 (1)
  • 收藏
  • 关注

原创 android databinding 生成xxxBing类内部执行和刷新的流程

再编译期,使用注解处理器生成对应的xxxdatabinding类继承ViewDataBinding 并记录了从layoutId 对应到 自动生成的Bind类 对于带有id的类,会生成成员变量 查找子View的方式是,遍历rootView,的子View,然后把需要查找的View,放到对应的数组中 从数据中取出值,赋值给对应的View成员变量 核心方法 //子类必须重写的方法,内部会根据属性的flag值,是否已经修改,来决定是否更新对应的属性,protected void executeBi...

2020-08-18 16:34:28 1307

原创 LiveData源码分析,使用注意事项

LiveData核心字段的作用 // 锁对象,在子线程发送消息的时候,有并发 private final Object mDataLock = new Object(); //初始的数据版本version,在每次设置的数据的时候,version都会增长,标识数据的变化 static final int START_VERSION = -1; private static final Object NOT_SET = new Object();

2020-07-13 16:02:59 323

原创 Android属性动画源码解析

核心类 PropertyValuesHolder (可以根据时间比例从Keyframes 获取到指定的值,可以提供访问指定属性的方法) 该类保存有关属性及其值的信息 在动画中播放。PropertyValuesHolder对象可用于创建 动画与ValueAnimator或ObjectAnimator操作几个不同的属性并行。 Keyframes 储存关键帧的集合, 并且可以根据动画的...

2019-10-23 15:39:29 221

原创 Glide源码流程分析

几个核心类简介: DataFetcher 从不同的地方拉去数据,是一个接口, 实现类,负责拉取 EngineRunnable 负责组合各功能对象,组织加载 类 ResourceDecoder 负责资源解码接口,StreamBitmapDecoder 子类,负责解析流 ResourceEncoder 负责资源编码 DataLoadProvider 接口,里面可以获取必...

2019-10-23 15:32:26 193

原创 Choreographer源码分析

Choreographer.postCallback(int callbackType, Runnable action, Object token)-> postCallbackDelayed(int callbackType,Runnable action, Object token, long delayMillis) private void postCallbackDela...

2019-10-23 15:00:25 311

原创 Retrofit核心类分析和调用流程源码分析

基于retrofit2.1.0 核心类介绍 ParameterHandler 解析方法参数的注解获取他们信息,然后调用转换器,然后设置到RequestBuilder 不同的注解有不同的ParameterHandler 实现 Converter<F, T> 转换器接口,我们自定义一些实现,可以通过它自定义,进行请求参数数据转换,相应参数自定义解析,还有设置数...

2019-10-23 14:47:30 524

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除