内存泄漏
OutOfMemory
1.资源释放问题
长时间保持某种资源,如corsor context io流的引用 资源得不到释放造成内存泄漏
2.对象内存过大
保存了多个消耗内存过大的对象 bitmap xml文件等 ,要及时释放
3.static关键字的使用问题
static用来修饰成员变量时,该成员变量属于该类,而不是类的实例,用static修饰的变量它的生命周期很长,如果用来引用context,当activity复制到此context上,及时该activity销毁了,但由于他的对象保存了他的引用,该activity依然不会释放
****针对static 的解决方案
1) 应该尽量避免 static 成员变量引用资源耗费过多的实例, 比如
Context。
2) Context 尽量使用 ApplicationContext , 因为 Application 的
Context 的生命周期比较长,引用它不会出现内存泄露的问题。
3) 使 用 WeakReference 代 替 强 引 用 。 比 如 可 以 使 用
WeakReference<Context> mContextRef;
4.线程导致内存溢出

浙公网安备 33010602011771号