- 博客(5)
- 收藏
- 关注
原创 SparseArray原理分析
概述Google推荐新的数据结构SparseArray。SparseArray类上有一段注释: SparseArrays map integers to Objects. Unlike a normal array of Objects, there can be gaps in the indices. It is intended to be more memor...
2018-06-24 21:18:02 418
原创 vlayout原理分析
前言当我们使用RecylerView时,需要绑定一个Adapter和LayoutManager,而vlayout里定义了VirtualLayoutAdapter(继承自Adapter)和VirtualLayoutManager(继承自LayoutManager)来绑定到RecyclerView。VirtualLayoutAdapter它是一个抽象类,很简单:public abstr...
2018-06-23 19:53:16 1116
原创 RecyclerView原理分析
前言RecyclerView是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的ListView,更加强大和灵活。支持RecyclerView高效运行的主要六大类:Adapter:为每一项Item创建视图ViewHolder:承载Item视图的子布局LayoutManager:负责Item视图的布局的显示管理ItemDecoration:给每一项Item视图添加子Vi...
2018-06-23 14:40:25 4920 1
原创 LiveData源码分析
前言公司的项目使用的是MVVM设计模式,自然离不开LiveData,今天就来学习一波LiveData相关的源码。如何感知生命周期LiveData是在LifeCycle包下的,使用LiveData首先来了解一下LifeCycle是如何感知生命周期的。下图Activity的继承体系: 其中有一个SupportActivity:public class SupportAct...
2018-06-18 22:45:52 1532
原创 ARouter源码分析
原理ARouter在编译期的时候,利用自定义注解完成了自动注册。ARouter的编译通过RouteProcessor。process()process()方法相当于处理器的主函数main(),可以在这个方法中扫描、评估和处理注解的代码,以及生成Java文件。 public boolean process(Set<? extends TypeElement>...
2018-06-17 16:13:33 816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人