我目前的APP流程是這樣:
起始畫面(一張圖)→ActivityA
有另外四個 Activity 分別是:ActivityB、ActivityC、ActivityD、ActivityE
然後 ActivityA~E 都可以互相切換 不會關閉
如果跳轉流程是這樣:A→B→C→D→E→C
C 不會重新 onCreate 而是 onRestart
每個 Activity 都會去資料庫拿不同資料 存成ArrayList 來建置當前的頁面
但是因為 ActivityB 的資料量很大的關係
所以從 ActivityA→ActivityB 的時候 畫面就會讀取一段時間(大概2~3秒)
正常來講 第一次進入 ActivityB 讀取久一點沒關係
但是每次進入 ActivityB 的時候都會重新 onCreate 造成讀取 會造成使用者煩躁
所以想說 如果已經開啟過 ActivityB 然後切換到其他 Activity 的時候
不要 finish ActivityB 這樣下次進入 ActivityB 的時候就不用重新 onCreate 了
我目前的做法是:
跳轉指令都用 startActivity(new Intent(this, ActivityB.class));
(不 call finish();)
接著在 AndroidManifest.xml 的地方
將 ActivityA~E 加上 android:launchMode="singleTask"
原本是沒問題的 但是加上讀取資料庫 數量太大的時候(大約一萬多筆)
從 ActivityB→ActivityA 之後 ActivityB 馬上就跳出 onDestroy 了
然後再從 ActivityA→ActivityB 又要讀取了…
這樣該怎麼實現這個功能?
或是有其他最佳化讀取的方法嗎?
抱歉我的想法很奇怪 懇請大家解惑