還有一個Activity
,一面菜單和許多Fragment
秒。當我在側面菜單中選擇菜單時,會將一個特定的Fragment
添加到活動中,並刪除前一個。在這個應用程序中,我必須緩存Fragment
對象嗎?或者每次我選擇菜單時重新創建新的Fragment
?哪一個更好?緩存片段是一種很好的做法嗎?
2
A
回答
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
相關問題
- 1. 由URL緩存是一種很好的做法嗎?
- 2. JavaScript:window.spam是一種很好的做法嗎?
- 3. 存儲計算值是否是一種很好的做法?
- 4. 使用嵌套異常是一種很好的做法嗎?
- 5. 在Application_Deactivated上更新LiveTile是一種很好的做法嗎?
- 6. 直接JSON.stringify Javascript對象是一種很好的做法嗎?
- 7. JQuery命名空間是一種很好的做法嗎?
- 8. 使用可變子域名是一種很好的做法嗎?
- 9. 在SwingWorker內部運行ExecutorService是一種很好的做法嗎?
- 10. 在樹幹上工作是一種很好的做法嗎?
- 11. 正在使用很多碎片是一種不好的做法嗎?
- 12. instanceof是一種好的做法嗎?
- 13. 在數據屬性中存儲文檔ID是一種很好的做法嗎?
- 14. 對各種領域進行全文搜索是一種很好的做法嗎?
- 15. 總是加入SQL表是否是一種很好的做法?
- 16. 拆分CSS是否是一種很好的做法?
- 17. 這種方法很好嗎?
- 18. 在堆棧上存儲C結構是否是一種很好的做法?
- 19. 在元標記中存儲csrf標記是否是一種很好的做法?
- 20. 是否將活動實例保存在WeakReference中是一種很好的做法
- 21. 在會話中保存對象是否是一種很好的做法?
- 22. 正在刪除「舊的」JSONP腳本標記是一種很好的做法嗎?
- 23. GOTO是一種很好的做法嗎? (在這個PHP的特殊情況?)
- 24. 更改提交表單的提交屬性是一種很好的做法嗎?
- 25. aspx頁面中的內聯代碼是一種很好的做法嗎?
- 26. 抽象類是一種很好的做法?
- 27. 將變量設置爲「Nothing」是一種很好的做法?
- 28. 將私有域封裝到變量中是一種很好的做法嗎? C#
- 29. 將html分配給javascript變量是一種很好的做法嗎?
- 30. 在css sprites中使用動畫gif是一種很好的做法嗎?
請參閱本http://stackoverflow.com/questions/11291739/how-to-cache-a-fragment-view – 2014-09-02 04:06:23