【发布时间】:2018-01-12 10:04:26
【问题描述】:
public class MainActivity extends Activity {
private TextView textView;
protected void onCreate(Bundle savedInstanceState) {
textView = new TextView(this);
textView.setText("some text");
setContentView(textView);
}
}
我们有两个对象:MainActivity 的一个实例和TextView 的一个实例,它们都相互引用。所以基本上它会导致内存泄漏。我说的对吗?
【问题讨论】:
-
我说的对吗?不..
-
你是怎么知道它导致内存泄漏的?
-
@NongthonbamTonthoi 两个对象之间有双向引用。所以 GC 不能释放他们中的任何一个。
-
所以 GC 不能释放他们中的任何一个。 是的,它可以...... TextView 只被 Activity 引用......所以很明显如果 Activity 不再需要 GC也可以免费释放 TextView ...问题是
private TextView textView;是否为private static TextView textView; -
@Selvin 你能解释一下吗?
标签: android