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
的一个实例,它们都互相引用。所以基本上它会导致内存泄漏。我是对的吗?
答案 0 :(得分:1)
这是与garbage collection algorithms
您的想法是Reference counting algorithm。正如您所说,circular reference
情况存在一些问题。因此它不再用于现代JVM中。
您应该查看其他垃圾收集算法,看看现代JVM gc的工作原理。
https://www.dynatrace.com/resources/ebooks/javabook/how-garbage-collection-works/
答案 1 :(得分:-1)