自定义博客皮肤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 1138

原创 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 246

原创 Android属性动画源码解析

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

2019-10-23 15:39:29 154

原创 Glide源码流程分析

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

2019-10-23 15:32:26 123

原创 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 224

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

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

2019-10-23 14:47:30 422

空空如也

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

TA关注的人

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