代码之家  ›  专栏  ›  技术社区  ›  Christian

是否可以将ViewPager配置为仅在呈现屏幕片段后加载屏幕片段?

  •  0
  • Christian  · 技术社区  · 6 年前

    我现在有很多逻辑来展示我的个人片段。渲染每个片段可能需要300毫秒。 ViewPager当前加载屏幕上可见的片段和两个相邻的片段,然后在UI中呈现任何内容。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Mitesh Vanaliya    6 年前

    在你的口袋里试试这个 FragmentStatePagerAdapter

    override fun getItemPosition(`object`: Any): Int {    
            PagerAdapter.POSITION_NONE    
    }
    
        2
  •  0
  •   Sam    6 年前

    我不相信你会看到一个大的性能提升,除非你在这里做一些沉重的东西在其他片段。但是在你加载完你的第一个片段之后,你总是可以调整你允许的屏幕外的内容。

    mViewPager.setOffscreenPageLimit(0)
    

    然后,在完成加载之后,调整到要在内存中保留的数量,以便更好地进行用户滚动。

    mViewPager.setOffscreenPageLimit(2)
    

    这应该能完成你所要求的行为。