创建线程池的两种方式 1.使用Executors CachedThreadPool:可缓存的线程池,该线程池中没有核心线程,非核心线程的数量为Integer.max_valu...
创建线程池的两种方式 1.使用Executors CachedThreadPool:可缓存的线程池,该线程池中没有核心线程,非核心线程的数量为Integer.max_valu...
handler 的使用 分析1:(创建handler ) 分析二(创建Looper) 分析三(Looper.loop实现消息循环) 分析四(处理消息) 分析五(发送一条消息)...
Bitmap占用内存大小的计算方式: Bitmap所占用的内存 = 图片长度 x 图片宽度 x 一个像素点占用的字节数 Bitmap编码 Bitmap.config 其中,A...
SparseArray原理:SparseArray采用两个数组,用来存放key以及value值的,核心思想是通过二分查找来找到key对应的位置,然后取出值,或者插入值! Sp...
当一个数组中大部分元素为0,或者为同一值的数组时,我们可以用稀疏数组来保存该数组。在稀疏数组中,数组下标为[0]的第一行元素分别代表原始数组的行列数以及中的有效值(即非零值)...
上一篇我们讲了事件分发的过程,这一篇我们将会通过改变事件分发的过程解决滑动冲突 滑动冲突的常见场景 举个例子 我们常见的ViewPager和ListView嵌套时候时会出现滑...
什么是事件 点击事件(Touch事件) 事件类型 怎么描述事件: MotionEvent 事件分发的本质: 将点击事件(MotionEvent)传递到某个具体的View & ...
内存泄漏原因 本质:对象的引用未被释放,导致对象本身无法被有效的回收。(生命周期长的持有生命周期短的引用,导致对象无法被回收)。 内存泄漏常见场景 (1)Handler使用不...
java泛型 一、泛型类的定义 public class Ponit { private T x; public Ponit(T x, T y) { this.x = x...
Android动画分为三类 1、补间动画 Tween Animation(补间动画): Tween动画,通过对View的内容进行一系列的图形变换 (包括平移、缩放、旋转、...