什么是内存泄漏
内存泄漏是指在程序中已经动态分配的堆内存由于某种原因程序未释放或者无法释放,造成系统内存的浪费,导致程序运行速度减慢,甚至奔溃等严重后果。
简单来说就一句话**:生命周期较长的对象持有生命周期较短的引用**
常见的内存泄漏
- 单例造成的内存泄漏;
- 静态变量导致的内存泄漏
- 非静态内部类导致的内存泄漏
- 资源完成后,没有及时关闭,造成内存泄漏
避免内存泄漏
1.对上下文的引用改为全局
2.适当的时候将静态变量重置为null
3.静态内部类+弱引用
4.使用Android profiler 工具检查 监测