使用内存缓存
以牺牲宝贵的应用内存为代价,内存缓存提供了快速的Bitmap的访问方式,LruCache类(可以在Support-v4中获取并支持到API 4以上,即1.6版本以上)是非常适合用作缓存Bitmap任务的,它将最近被引用到的对象存储在一个强引用的LinkedHashMap中,并且在缓存超过了指定大小之后将最近不被使用的对象释放掉
注意:
以前有一个非常流行的内存缓存实现是SoftReference(软引用)或则WeakReference(弱引用)的Bitmap缓存方案,然而现在已经不推荐使用了,自Android2.3版本(API 9)以后开始,垃圾回收器更着重于对软/弱引用的回收,这使得上述方案变得相当无效。此外,android3.0(API 11)之后的版本中,Bitmap的备份数据直接存储在本地内存中并以一种不可预测的方式从内存中释放,很可能短暂性的引起程序超出内存限制而OOM异常。