在一项活动中,我通常会保留对视图的强引用,以便每次我必须更新所述视图时都不需要findViewById(...)
。在这样做时,活动最终看起来像这样:
SomeActivity extends Activity implements View.OnClickListener{
private Button button;
private TextView textView;
@Override
public void onCreate(Bundle sIS){
super.onCreate(sIS);
this.button = (Button)findViewById(R.id.button);
this.button.setOnClickListener(this);
this.textView = (TextView)findViewById(R.id.
}
@Override
public void onClick(View v){
...
}
...
}
我的问题是,这些对带有回调的视图的强引用是否必须为空,或者将其OnClickListeners设置为null?或者GC是否能够看到整个层次结构已经死亡,而GC是整个层次结构?
答案 0 :(得分:2)
我的问题是,这些对带回调的视图的强引用是否必须为空,或者将OnClickListeners设置为null?
没有
或者GC是否能够看到整个层次结构已经死亡,而GC是整个层次结构?
是的,假设此处没有其他内容引用(后台线程,静态数据成员等)。