1
現有的Parcelable示例非常簡單。如果你有一個複雜的對象圖下面的問題出現快速質疑可行性:在Parcelable中存儲複雜的對象圖?
- 有沒有被寫入多個時間成一個包什麼辦法來防止一個對象?
- 在寫作時是否有任何限制對象圖形深度的最佳做法?
爲了給出第一個問題的例子,對象A引用了B,後者又引用A.這個循環導致寫入A,B,A,B,A ......直到我們得到一個StackOverflowError爲止似乎沒有辦法引用先前寫入的對象。
對於第二個問題,讓我們有一個很長的圖A-> B-> C-> D-> E,我們想要序列化A的深度爲2,這只是A-> B- >℃。我們通過編寫自定義的writeToParcelDeep方法來實現這一點,這當然不如標準writeToParcel方便。