我有一個名爲HomeActivity的活動,它具有SurfaceView並顯示相機預覽圖片。如果您正在啓動/重新啓動它,此活動非常沉重,感覺很慢。onCreate總是在意圖導航時調用
所以我做了一些調查,發現,總是調用onCreate方法。在我看來,如果活動已經開始,這不應該發生?
documentation說: 第一次創建活動時調用。這是您應該完成所有常規靜態設置的位置:創建視圖,將數據綁定到列表等。此方法還會爲您提供一個包含活動先前凍結狀態(如果有的話)的Bundle。 總是跟着onStart()。
這裏是方法,來處理回去:
protected void gotoHome() {
final Intent intent = new Intent(SomeOtherActivity.this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
編輯:
下面是我離開HomeActivity ...沒什麼特別的:
final Intent i = new Intent(HomeActivity.this, SomeOtherActivity.class);
startActivity(i);
確保您沒有完成()HomeActivity時從它開始另一個活動。當你用方法'gotoHome()'返回時,onCreat()會調用 – Egor 2012-07-05 15:09:10
? – 2012-07-05 15:09:15
@Egor我不打完() – Mark 2012-07-05 15:11:27