内存泄漏的本质
- 所谓GC java虚拟机可以释放”不再使用的对象”堆内存
- 所谓”不再使用的对象”意味着没有任何持久化的对象拥有它的引用”
- 所谓内存泄漏本质是不再使用的对象被持久化对象引用导致不能回收
内存泄漏的常见原因
- 单例模式中传递当前对象的引用给全局静态对象
SingleInstance.createInstance(this) ->其中this为Activity
- 匿名内部类实例持有外部类的引用
- Activity里面经常出现的 addXXXListener registerXXX需要对应的removeXXX unregisterXXX
- 程序中经常出现的 cusor io关闭
- 无限轮播动画没有停止
- java 中循环引用?