2014-09-02 126 views
2

還有一個Activity,一面菜單和許多Fragment秒。當我在側面菜單中選擇菜單時,會將一個特定的Fragment添加到活動中,並刪除前一個。在這個應用程序中,我必須緩存Fragment對象嗎?或者每次我選擇菜單時重新創建新的Fragment?哪一個更好?緩存片段是一種很好的做法嗎?

+0

請參閱本http://stackoverflow.com/questions/11291739/how-to-cache-a-fragment-view – 2014-09-02 04:06:23

回答

3
do I have to cache Fragment object? 

請記住,如果你在它的緩存與多個視圖中的片段,它可以成本你內存,並且可以導致OutOfMemoryException你堆已滿,你到另一個片段內存分配。

or just recreate new Fragment every time I selected menu? which one is better? 

如果你的片段沒有很多的視圖,那麼我會緩存每一邊只有1或2片段。

比方說你有5個片段(1 - 2 - - 4 - 5)您目前在3rd fragment我只會緩存第二和片段沒有1st and 5th fragment如果我改變片段然後我會緩存3rd and 5th fragment刪除緩存第二片段。現在,如果你這樣做,那麼你可以節省時間再次將其渲染到屏幕上。但永遠記住,它會花費你的記憶。

如果要專門爲較低的堆大小設備中的存儲應用明智然後每次選擇一個菜單時重建片段。

+0

非常感謝你。 – Cinakyn 2014-09-02 06:14:43

+0

@Cinakyn歡迎您和編碼愉快:)) – 2014-09-02 06:15:16

相關問題