下面的代碼會導致內存泄漏嗎?本質上,我使用setContentView()在應用程序之間切換各種佈局,並且我有活動的成員變量,它們維護對佈局上各種視圖(按鈕/文字視圖...)的引用。這會造成內存泄漏嗎?
我正確地認爲,如果活動類有一個按鈕的引用,然後更改佈局佈局不會被垃圾回收,因爲它仍然會保存按鈕引用?如果是這種情況,我可以在更改佈局之前將按鈕變量清空嗎?
謝謝。
public class MyApp extends Activity {
private Button startBtn;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Set main layout
setContentView(R.layout.main);
startBtn = (Button) findViewById(R.id.startBtn);
startBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
doStart();
}
});
}
private void doStart()
{
// Change to starting screen layout
setContentView(R.layout.begin);
/// .. Work with more views here and change layouts in a bit .. //
}
}