我正在研究一個包含兩個活動 - MainActivity(parent)和detailActivity(child)的非常簡單的應用程序。父和子關係在清單文件中設置。加載數據並保持其持久性的最佳實踐
Mainactivity有一個recyclerView,並且在回收站視圖中爲每個項目單擊它,它會打開detailActivity。
一切工作到目前爲止,除了我的應用程序運行緩慢。
我在MainActivity的onCreate方法中有一個processJson方法,該方法從靜態json文件中加載數據。此文件是相當大(> 700行)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_char);
processJson();
.......
}
切換從MainActivity到DetailActivity
Intent intent = new Intent(this, CharDetailActivity.class);
intent.putExtra("charId", charId);
cxt.startActivity(intent);
從DetailActivity切換到MainActivity只是通過後退按鈕或通過動作條後退按鈕。
AndroidManifest.xml中
<activity
android:name=".CharDetailActivity"
android:label="@string/title_activity_char_detail" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".CharActivity" />
</activity>
如果我刪除了元標記的應用程序調用MainActivity的OnCreate只有一次!
每當應用程序從DetailActivity切換到MainActivity時,它都會調用onCreate並重新加載數據。有沒有更好的方式來加載應用程序中的數據?或保存MainActivity的實例?
發佈從「DetailActivity」切換到「MainActivity」的代碼,反之亦然。 – Simas
用代碼更新了問題。謝謝 – Jayaram
如果在切換到另一個時不銷燬'MainActivity',則不應調用onCreate()'。我不知道你是否隨時調用finish(),或者通過調用'startActivity'返回主要活動? – Simas