避免内部类android的内存泄漏

时间:2012-11-02 08:43:56

标签: android

我很难过。我似乎无法弄清楚如何在android中正确创建新的侦听器以避免内存泄漏。我是否会将静态内部类与SoftReference一起使用到外部类(因为我需要访问外部类变量)?或者我应该这样做:

setScrollListener(new ScrollListner {

//methods here.

});

1 个答案:

答案 0 :(得分:2)

只有从活动之外的某些内容引用Scrolllistener时才会发生内存泄漏。

如果你在代码中使用了scrolllistener,那么监听器将保留对Activity的引用,因为它是一个匿名类。但是对您的侦听器的唯一引用将来自此活动引用的视图。活动完成后,垃圾收集器可以立即清理整个内存。