【问题标题】:ViewPager using FragmentPagerAdapter remove invisible pages from memoryViewPager 使用 FragmentPagerAdapter 从内存中删除不可见页面
【发布时间】:2013-02-22 09:46:55
【问题描述】:

我正在开发一个应用程序,它具有包含 5 个不同片段的视图寻呼机。每个片段都有许多视图、动画和侦听器,因此我的应用程序运行速度较慢。当我只添加第一第二和第三页时没有问题,但在添加其他页面后,性能问题就开始了。我想从 ViewPager 中删除不可见的页面,但它会导致 CirclePageIndicator 出现问题。我希望只有 3 页“当前页”、“上一页”和“下一页”会出现在屏幕上,其他页面消失了。

有人知道解决性能问题吗?

【问题讨论】:

    标签: android android-viewpager fragment fragmentpageradapter


    【解决方案1】:

    尝试将 ViewPager 的 OffScreenPageLimit 设置为 1:viewpager.setoffscreenpagelimit(1);

    【讨论】:

    • 您好,尼克劳斯,感谢您的回答。当我滚动到新页面然后返回'onCreateView()'调用,这使我的代码出错。是否可以保存旧片段的上次查看状态?
    • 您确定错误来自 onCreateView 方法,而不是来自适配器中的 getView 方法吗?
    • 在 XML 文件中,我在第 45 行导入 Google Maps V2。异常为 android.view.InflateException: Binary XML file line #45: Error inflating class fragment 当调用 super.onCreateView(inflater,container,savedInstanceState); 时发生此异常
    • 这是因为你在膨胀XML,已经膨胀了,做一个空检查
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多