我不太明白如何開始一個新的活動,以及如何釋放內存。當開始新的活動時釋放內存android
這是我有:
Button b1, b2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.activity_main);
setReferences();
}
private void setReferences() {
b1= (Button) findViewById(R.id.b1);
b2= (Button) findViewById(R.id.b2);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent newActivity;
switch (v.getId()) {
case R.id.b1:
newActivity = new Intent("com.sblasblasbla.PLAYACTIVITY");
startActivity(newActivity);
break;
case R.id.b2:
newActivity = new Intent("com.sdasdsadsa.THIRDACTIVITY");
startActivity(newActivity);
break;
}
}
}
但是當我去到另一個活動,我想釋放內存,如果我按從手機背面按鍵(返回)保存我的活動佈局(背景和按鈕等)我的意思是不刪除它們
我該如何有效地做到這一點?我聽說過onStop和onDestroy,但我不知道它們是如何工作的。另外,如果我摧毀活動,它再次調用onCreate?
我也有一個背景圖片,它仍然在內存中。如何釋放,因爲我有12 MB的堆.. –
你無法控制什麼應該在內存中,什麼不是。如果系統內存不足,它會自動清除對象。只要確保它們在其他地方被引用。 –