當我的應用程序變得複雜並且主要活動開始在內存中保存大量數據(從用戶操作響應的文件中加載和解析)我有(錯誤地)從onSaveInstanceState
到onRetainNonConfigurationInstance
,但沒有注意到onRetainNonConfigurationInstance
在應用程序被終止以保存設備內存時未被調用。因此,現在我必須切換回onSaveInstanceState
我想知道如何處理大量由數十個對象分發的大量數據?我是否需要爲所有這些對象實現序列化(Parcelable
?)或者可能會將所有數據放入Service
線程希望它不會被殺死?最佳做法是什麼?如何在大量數據和對象上使用onSaveInstanceState
1
A
回答
0
我已經結束了一個醜陋的,但唯一可以接受的解決辦法:
- 我已經感動了所有的數據到
Application
對象。 - 我創建了前景
Service
,這樣即使所有活動都被終止,應用程序對象也不會被殺死。
1
onRetainNonConfigurationInstance
已棄用。現在使用new Fragment API更好也更容易。基本上,你擴展Fragment
類,調用setRetainInstance(true)
,並把你想要保存的所有變量放在這裏(好吧有點複雜,但是the documentation非常清楚,並提供了幾個樣本)。
它是在API 11中引入的,但可通過Android兼容性包在較早的平臺上使用。
相關問題
- 1. 如何使用onSaveInstanceState()和onRestoreInstanceState()?
- 2. 如何使用onSaveInstanceState()
- 3. 片段,在onSaveInstanceState上保存大型數據列表(如何防止TransactionTooLargeException)
- 4. 如何使用Python在網絡上傳輸大量數據?
- 5. 存儲大量數據對象
- 6. 如何在大數據量
- 7. 使用Serializable在onSaveInstanceState中保存對象引用?
- 8. 如何使用laravel和數據表在html表格中加載大量數據
- 9. 保存數據(OnSaveInstanceState)
- 10. 如何在對象上插入Mysql數據文本[對象HTMLCollection]
- 11. 如何使用Joomla數據庫對象?
- 12. 如何在量角器.each()函數上使用頁面對象變量?
- 13. 如何在onSaveInstanceState()中保存AsyncTask類對象()
- 14. 如何用的onSaveInstanceState
- 15. 如何使用iPhone上的大量數據?
- 16. 有沒有人使用過大量數據的對象數據庫?
- 17. 在對象的矢量上使用find_if
- 18. 對'大'數據使用'狀態'和REDX
- 19. 在堆棧中使用onSaveInstanceState和fragment?
- 20. 如何在此上使用組對象?
- 21. 如何使用在卡上的對象
- 22. 如何使用變量在Tkinter的畫布上創建對象
- 23. 高效使用python對象遍歷調用python函數的大量數據
- 24. 我應該把一個大對象onSaveInstanceState()方法
- 25. 如何通過使用onSaveInstanceState()和onRestoreInstanceState()方法在EditText上保存所需的數據
- 26. 使用大量數據
- 27. WCF如何處理大量客戶端和大量數據?
- 28. 如何有效地使用DTO對象(數據傳輸對象)?
- 29. 如何使用.NET和C#將數據集對象轉換爲JSON對象?
- 30. 如何在對象中執行函數和引用變量