【发布时间】:2011-07-04 05:34:52
【问题描述】:
我刚刚阅读了a blogpost by Romain Guy,了解如何避免 Android 中的内存泄漏。
在文章中他举了这个例子:
private static Drawable sBackground;
@Override
protected void onCreate(Bundle state) {
super.onCreate(state);
TextView label = new TextView(this);
label.setText("Leaks are bad");
if (sBackground == null) {
sBackground = getDrawable(R.drawable.large_bitmap);
}
label.setBackgroundDrawable(sBackground);
setContentView(label);
}
罗曼说:
这个例子是泄露上下文的最简单的例子之一。
我的问题是,你如何正确修改它?
就这样?
TextView label = new TextView(Context.getApplicationContext());
我测试了两种方法,结果是一样的。我找不到区别。而且我认为this 比应用程序上下文更正确。因为this是对Activity的引用,也就是说TextView属于那个Activity。
有人能给我解释一下吗?
【问题讨论】:
-
它会占用整个应用程序生命周期...
标签: android