原文连接:送一个内存泄漏给2016的记几java
年末了,看公司项目的友盟的bug列表,发现java.lang.OutOfMemoryError的问题很多,也该是时候还了。git
在解决内存泄漏的过程当中,遇到一个静态变量致使的内存泄漏,关键是这代码仍是本身敲的,明明已经使用弱引用,为何仍是内存泄漏了。看代码:github
public class RtHttp {
public static RtHttp instance = new RtHttp();
public Context context;
public static void with(Context context){
WeakReference<Context> wrContext = new WeakReference<Context>(context);
instance.context = wrContext.get();
}
}复制代码
RtHttp为封装客户端网络框架请求的入口,假设两个条件:网络
记几想不通,还到谷歌搜索使用弱引用依然内存泄漏,WeakReference useless,无果。框架
一个内存泄漏的问题,反映了Java基础不牢固,在学习知识和解决问题上也不够深刻。一直想写一篇2016的总结,但愿以此内存泄漏的问题为界,实如今2017的一个技术提高。less
Android 内存泄漏总结
Java内存、Android 内存泄漏
Java gc(垃圾回收机制)小结,以及Android优化建议
JVM GC垃圾回收机制学习