源码分析
文章平均质量分 90
我赌一包辣条
纸上得来终觉浅,绝知此事要躬行。
展开
-
这一次,彻底搞懂SparseArray实现原理
最近在整理SparseArray这一知识点的时候,发现网上大多数SparseArray原理分析的文章都存在很多问题(可以说很多作者并没有读懂SparseArray的源码),也正因此,才有了这篇SparseArray原理的文章。我们知道,SparseArray与ArrayMap是Android中高效存储K-V的数据结构,也是是Android面试中的常客,弄懂它们的实现原理是很有必要的,本篇文章就以SparseArray的源码为例进行深入分析。一、SparseArray的类结构SparseArray可以翻译原创 2021-06-13 17:06:18 · 1205 阅读 · 5 评论 -
追根溯源—— 探究Handler的实现原理
一、Handler的使用场景 Android系统中更新UI只能在主线程中进行,如果在子线程中访问UI程序会抛出CalledFromWrongThreadException的异常。而且Android又不建议在主线程中进行耗时操作,不然有可能会出现ANR问题。因此对于像网络请求、数据库查询这样的耗时操作一般是放在子线程中执行的。当子线程获取数据成功以后需要将数据更新到UI界面,由于UI更新不能在子原创 2017-09-10 02:27:27 · 1252 阅读 · 2 评论 -
手撕黄油刀--探究ButterKnife实现原理
上篇文章我们提到属性动画中由一个setInterpolator(TimeInterpolator value)的方法,这个方法是为动画设置一个插值器,可以去控制动画的速率,那么本篇文章就承接属性动画继续探究属性动画插值器用法。插值器的用法非常简单,系统给我们提供了setInterpolator(TimeInterpolator value)的方法,我们只需要传入一个插值器就可以了,我们来看一个......原创 2019-08-26 10:02:12 · 796 阅读 · 0 评论