题记:总是有点懒,好久没有写blog了,希望自己之后写博客的频率高一些,把自己学到的新知识记录下来、或者把一些好的东西分享出来,因为记录可以加深学习的印象,还可以与他人分享。
GC简介:
java gc,即java garbage collection(垃圾回收机制),是java与c/c++的主要区别之一,既然有了gc,为什么还会发生内存泄漏问题呢。原来系统会对所有的对象从root层层遍历,如果没有发现对它的引用链,就会被标记为无用,在gc时就会被回收。
内存溢出原因:
系统会回收没有引用链的对象,对于有引用链的对象却不会回收。如果系统累计了太多不再用却依然有引用链的对象,几次无法销毁叫做内心泄漏,当无法销毁的内存累计到一定值,就会发生内存溢出,即oom.
常见内存泄漏原因:
1:static,使变量和类的实例无关,存在于整个app运行期间
2:内部类
3:忘记unregister
事无巨细,其它后续还会慢慢完善。。。