【问题标题】:Is caching Fragment a good practice?缓存片段是一个好习惯吗?
【发布时间】:2014-09-02 04:04:06
【问题描述】:

有一个Activity、一个侧边菜单和许多Fragments。当我在侧边菜单中选择菜单时,一个特定的Fragment 添加到活动中,而前一个被删除。在这个应用程序中,我是否必须缓存 Fragment 对象?还是每次选择菜单时都重新创建新的Fragment?哪个更好?

【问题讨论】:

标签: android


【解决方案1】:
 do I have to cache Fragment object?

请记住,如果您缓存了其中包含多个视图的 Fragment,则可能会消耗您的内存,这可能导致 OutOfMemoryException 您的堆已满并且您正在将内存分配给另一个 Fragment。

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

如果您的片段上没有很多视图,那么我将只缓存每侧的 1 或 2 个片段。

假设您有 5 个片段(1 - 2 - 3 - 4 - 5)并且您目前在 3rd fragment 我只会缓存 2nd4th 片段 不是 1st and 5th fragment但是 如果我将片段更改为 4th 那么我会缓存 @987654326 @ 和 remove 缓存的 2nd 片段。现在,如果您这样做,那么您将节省时间再次将其渲染到屏幕上。但请永远记住,它会消耗你的记忆。

如果您想要一个专门针对堆大小较小的设备的内存明智的应用程序,那么每次选择菜单时都重新创建片段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 2014-12-22
    • 2020-08-25
    • 2015-05-08
    相关资源
    最近更新 更多