問題很簡單,如果我讓一個對象parcelable,並將其放入一個包中,並使用該包創建一個片段。對象是否被克隆或被引用?Android Parcelable佔用更多的內存
上下文。
我有一個對象在ArrayList中存儲/引用。取決於ArrayList中的對象類型(使用多態性)。我創建了一個適合處理它的片段。
我還需要將此對象傳遞給片段。片段在自定義視圖尋呼機中使用。我不希望有重複的對象,在我看來,可以克隆的克隆對象。
另一種方法是傳遞ArrayList中對象的索引。然後使用getActivity()。myList.get(Integer傳遞給)來從片段中獲取對arraylist的引用。但對我來說這似乎不是很安全(ArrayList內容可能會更改,儘管我只是刪除所有內容並重新開始)。我也讀過,你應該避免將參數傳遞給fragment構造函數,因爲它可能使用默認的無參數構造函數重新創建。
(雖然我正在銷燬任何重新創建的碎片,因爲在重新貼上正確的視圖時出現了一些奇怪的問題,另一篇文章)。
新的子問題:有沒有辦法通過引用傳遞值的片段?
這是我以前處理它的方式。只是本來者優先已經做了類似 新的ArrayList 爲I
McP
2012-07-13 20:30:03
我曾嘗試過這種方法,但是一旦電話被旋轉,片段就會比活動更快地創建。所以對象初始化了。 – McP 2012-07-13 23:35:43