还有一个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. 在树干上工作是一种很好的做法吗?
- 3. 使用可变子域名是一种很好的做法吗?
- 4. 在SwingWorker内部运行ExecutorService是一种很好的做法吗?
- 5. 在Application_Deactivated上更新LiveTile是一种很好的做法吗?
- 6. instanceof是一种好的做法吗?
- 7. 对各种领域进行全文搜索是一种很好的做法吗?
- 8. 这种方法很好吗?
- 9. 是否将活动实例保存在WeakReference中是一种很好的做法
- 10. aspx页面中的内联代码是一种很好的做法吗?
- 11. GOTO是一种很好的做法吗? (在这个PHP的特殊情况?)
- 12. 将变量设置为“Nothing”是一种很好的做法?
- 13. 使用long int避免溢出是一种很好的做法吗?
- 14. 将html分配给javascript变量是一种很好的做法吗?
- 15. 在析构函数中调用函数是一种很好的做法吗?
- 16. 把功能放在课堂上是一种很好的做法吗?
- 17. 通过标记扩展注入命令是一种很好的做法吗?
- 18. 将war文件映像放入docker容器是一种很好的做法吗?
- 19. 将请求提取到多个命令是一种很好的做法吗?
- 20. 在rails中直接编写SQL查询是一种很好的做法吗?
- 21. 嵌套碎片很好的做法?
- 22. 单元测试私有方法是一种好的做法吗?
- 23. GAE祖先查询Hack:这是一个很好的做法吗?
- 24. jQuery插件 - 这是一个很好的做法吗?
- 25. 从构造函数中调用方法是否是一种很好的做法?
- 26. 这段代码片段有更好的做法吗?
- 27. 在SQL中更新视图是一种好的做法吗?
- 28. 在类中定义ID属性是一种好的做法吗?
- 29. 部分不变性是一种好的做法吗?
- 30. 将变量声明为'var'是一种好的做法吗?
请参阅本http://stackoverflow.com/questions/11291739/how-to-cache-a-fragment-view – 2014-09-02 04:06:23