我正在創建一個應用程序,讓用戶通過相當長的線性數據捕獲過程。每個活動都會爲需要輸入數據的新主題導致新的活動。問題是,一些活動有許多或大的位圖,或許多imageButtons。當用戶進入下一個活動時,當前一個放置一個後臺堆棧,內存不會被清理。Android:減少BackStack內存使用量
我正考慮在用戶轉到下一個活動時調用'finish()',然後重寫'onBackPressed()'以在用戶需要返回並在其中更改值時重新創建之前的活動。有沒有比這個更好的建議?
我正在創建一個應用程序,讓用戶通過相當長的線性數據捕獲過程。每個活動都會爲需要輸入數據的新主題導致新的活動。問題是,一些活動有許多或大的位圖,或許多imageButtons。當用戶進入下一個活動時,當前一個放置一個後臺堆棧,內存不會被清理。Android:減少BackStack內存使用量
我正考慮在用戶轉到下一個活動時調用'finish()',然後重寫'onBackPressed()'以在用戶需要返回並在其中更改值時重新創建之前的活動。有沒有比這個更好的建議?
您考慮的解決方案當然是在正確的軌道上。
我唯一的補充(重新創建活動,當你需要回到他們)是,你不一定需要很多活動。
從我的理解你需要許多佈局,每個佈局都有相關的資源。我會做的是:
Stage
數據類,對號入座佈局,位圖的ID等List<Stage>
與完整的故事查看The Transitions Framework瞭解在上述階段之間遍歷時如何製作視圖。如果您至少在某些視圖中使用了相同的ID,它們將獨立移動,而其他視圖將淡出或進入。
您在活動中如何使用位圖?請將您的代碼發佈到 –
您可以將位圖存儲在「軟」緩存中,刪除onStop中的硬引用並嘗試從onStart中的緩存中加載它們 – lelloman
@an_droid_dev許多圖像都是佈局的一部分,因此ImageView或佈局xml文件中的按鈕。其他的是用戶在使用應用程序時拍攝的照片。 – Zee