内存泄漏原因和处理办法

内存泄漏是一些没有使用的引用没有得到及时回收,导致内存泄漏

1.常见的内存泄漏是一些静态变量的使用,导致内存泄漏

   静态变量的使用,静态变量持有外部类的引用,比如在activity中,一些变量持有activity的引用,导致activity不能销毁,造成内存泄漏。

2.匿名内部类的使用(线程,asyncTask)

匿名你不累持有外部类的引用,导致线程可能还在执行,导致外部类的对象不能及时的释放。

3.解决办法

静态变量少用,可以通过一些单例来实现。

匿名内部类可以通过静态内部类来实现,因为静态内部类不依附与任何一个外部类,静态内部类不想静态变量一样,一开始就加载进行初始化。静态内部类随着调用才开始进行加载。

posted @ 2017-11-02 11:31  让学习如呼吸一般自然  阅读(912)  评论(0编辑  收藏  举报