Android进阶——性能优化之内存泄漏和内存抖动的检测及优化措施总结(七)
上一篇Android进阶——性能优化之内存管理机制和垃圾回收机制(六)简述了Java内存管理模型、内存分配、内存回收的机制的相关知识,相信对于内存溢出也有了稍深的了解和体会,这一篇将从检测、解决内存泄漏进行总结。 一、Java的引用概述 通过A能调用并访问到B,那就说明A持有B的引用,或A就是B的引用。比如 Object obj = new Object();通过obj能操作Object对象,因此obj是Object的引用;假如obj是类Test中的一个成员变量,因此我们可以使用test.obj的方式来访问Object类对象的成员Test持有一个Object对象的引用。GC过程与对象的引用类型是密切相关的,Java1.2对引用的分类Strong reference(强引用), SoftReference(软引用), WeakReference(弱引用), PhatomReference(虚引用)。 软/弱引用技术可以用来实现高速缓冲器:首先定义一个HashMap,保存软引用对象。 private Map <String, SoftReference<Bitmap>> imageCache = new HashMap <String, SoftReference<Bitmap>> (); 再来定义一个方法,保存Bitmap的软引用到HashMap。 public void