SparseArray是安卓里用来做Integer到object映射的数据结构。
介绍说:
0.使用数组,但是indice可以不连续
1.使用二分查找
2.不用额外类存储对象,比Hashmap内存性能好,但是查找性能差
3.使用置删除位的办法,减少删除
源码中:
0.清除删除元素(gc),使用两个下标,一个指示当前遍历到的元素,一个指示当前未删除元素
1.put且需要扩充大小时,会进行gc
2.取大小时会进行gc
3.按下标操作时,会进行gc
4.有一个ArrayUtils.idealByteArraySize,会对数组进行内存对齐,注意每个数组有一个12byte的头