SparseArray源码阅读

SparseArray是安卓里用来做Integer到object映射的数据结构。

介绍说:

0.使用数组,但是indice可以不连续

1.使用二分查找

2.不用额外类存储对象,比Hashmap内存性能好,但是查找性能差

3.使用置删除位的办法,减少删除

源码中:

0.清除删除元素(gc),使用两个下标,一个指示当前遍历到的元素,一个指示当前未删除元素

1.put且需要扩充大小时,会进行gc

2.取大小时会进行gc

3.按下标操作时,会进行gc

4.有一个ArrayUtils.idealByteArraySize,会对数组进行内存对齐,注意每个数组有一个12byte的头

你可能感兴趣的:(SparseArray源码阅读)