6.化除过期的对象引用

6.消除过期的对象引用

 

过期引用会导致内存泄漏:

1.如果一个栈先增长再收缩,那么从栈中弹出来的对象将不会被当作垃圾回收,即使使用栈的程序不再引用这些对象,它们也不会被回收,因为栈内部维护着这些对象的过期引用,从而可能导致内存泄漏。

2.解决方法是只要一个对象被弹出栈,就将它的引用过期(指向null)

注意:只要类自己管理内存,就应该警惕内存泄漏问题!!!

内存泄漏的另一个常见来源是缓存。

3.第三个常见来源是监听器和其他回调。