内存泄漏原因
静态变量引起的内存泄漏
单例引用Context引起的内存泄漏
非静态内部类引起的内存泄漏
内部现成导致的内存泄漏
Handler引起的内存泄漏
以上内存泄漏原因,可以归结为静态成员或方法依赖于类,非静态成员或方法依赖于类的实例
资源未关闭引起的内存泄漏
解决方法
静态变量
向单例传入Application的Context而不是Activity的Context
非静态内部类
非静态匿名内部类-将匿名内部类改成静态匿名内部类
Handler-把Handler改成静态匿名内部类,引用Activity的位置改为弱引用,Activity销毁时移除Handler的回调