一、巧妙使用软引用和弱引用
软引用,系统内存紧张时会回收软引用对象,一般用用高速缓存,例如图片缓存,我们一般通过内存缓存图片来提高图片加载速度,但内存吃紧的时候可以通过软引用及时对图片资源回收。
弱引用,但对象没有强引用,只有弱引用时资源会在gc中被回收,具体要看系统gc的时机。
二、SparseArray代替HashMap
SparseArray避开了自动装箱和压缩稀疏数组来节省内存。但在查找和插入等操作中使用二分法,效率上会稍慢,但数据量不大的情况下差别不明显。HashMap用hashcode查找,速度很快。
SparseArray只支持key为Int型的存储类型。