24

我想缓存一个片段视图。我的活动有可滑动的选项卡,每个选项卡调用不同的片段。但是,当我在选项卡之间滑动时,由于片段视图的破坏,过渡似乎很慢,这是在滑动操作期间重建的。有谁知道如何缓存每个片段的视图以防止此问题?我使用库支持 v4 和 api 14

我尝试为片段实现一个构造函数,由片段的活动容器调用:我调用构造函数,片段被创建为活动类的变量,然后,每当片段必须显示自己时,活动类返回我之前创建的片段对象,但这并没有大大改善我的应用程序,因为片段的视图无论如何都会被破坏

4

1 回答 1

23

这是因为默认情况下,寻呼机在内部最多加载 3 个页面(片段):显示的页面,上一个和下一个,因此如果您有 5 个片段,这将在您从第一个到最后一个移动时发生:(其中 x 是加载片段)

xx000 -> xxx00 -> 0xxx0 -> 00xxx -> 000xx

尝试使用

myPager.setOffscreenPageLimit(ITEMS_COUNT-1);

这将告诉寻呼机将它们全部保存在内存中,而不是在每次滑动时破坏/创建(密切关注内存管理)

于 2013-01-07T15:18:04.857 回答