2016-08-29 34 views
0

我目前正在編寫一個視圖庫,它可以擺脫活動和片段的需要,並且應該更易於理解等等。 無論如何,這是我的目標。如何優雅地處理Parcelable實現更改時存儲到磁盤?

但是我很難想出一個關於如何存儲狀態的解決方案。 我得到的狀態從子視圖作爲Parcelable,但根據Android的文檔中,Parcelable implemetation可能會破壞某些天

因此,它不適合放置任何包裹數據持久性存儲:在變化Parcel中任何數據的底層實現都會導致舊數據無法讀取。

因爲這似乎是唯一可能的解決方案,它只是爲了狀態(和Activity一樣使用它),所以應該沒問題。

我現在問自己的問題是,Android Acitivty如何在內部處理或降級? (他們甚至在設備重啓時存儲狀態?) 有什麼方法可以知道實現何時更改,因此我不會使用我的lib來銷燬所有應用程序?

(我應該忽視這個問題,因爲在歷史上從未斷絕?)

回答

3

持久性存儲單元保存到磁盤,即成活到你的流程的生命週期。

在進程處於活動狀態時,Android僅存儲Parcelable數據(例如綁定到Activity的數據),這意味着它從不會遇到這些問題。只要你做了類似的事情,那就沒有問題了。

+0

當應用程序在內存不足的情況下被終止時,實例狀態將不會被重新發送到活動?有趣。謝謝。 – domenukk

相關問題