这是Android上下文泄漏吗?

时间:2012-05-18 18:04:23

标签: android memory-leaks

这是一段简化的代码:

static Activity longLivedField;

onCreate(...) {     
    longLivedField = this;  // the only write to this field
}

我见过人们声称这是一个上下文泄漏,并为它创建修复程序。典型的解决方法是在适当的位置使字段无效。例如,在onPause()

onPause() {
    longLivedField = null;
}

1 个答案:

答案 0 :(得分:3)

是的,如果你没有使onPause()中的字段无效,那就是内存泄漏。您几乎肯定不想保留对任何Activity的静态引用。你想要实现的是什么?

Android开发人员网站包含一个方便的页面,描述如何避免像这样的内存泄漏:

Avoiding Memory Leaks