是否可以将ViewPager配置为仅在渲染屏幕上的片段后才加载屏幕外的片段?

时间:2018-10-09 13:04:27

标签: android android-fragments android-viewpager

我目前有很多逻辑,这些逻辑对于展示我的个人片段是必不可少的。渲染每个单独的片段可能需要300毫秒。 ViewPager当前加载在屏幕上可见的片段以及两个相邻片段,然后在UI中呈现任何内容。 我希望它首先呈现对用户可见的片段,并仅在用户得到他的片段后才对其他片段进行处理。有没有办法得到我想要的行为?

2 个答案:

答案 0 :(得分:0)

在您的FragmentStatePagerAdapter课堂上尝试

override fun getItemPosition(`object`: Any): Int {    
        PagerAdapter.POSITION_NONE    
}

答案 1 :(得分:0)

除非您在其他片段中做一些繁重的工作,否则我不认为您会在这里看到大的性能提升。但是,无论您加载的第一个片段是什么,您都可以在完成加载后随时调整允许的屏幕外显示。

mViewPager.setOffscreenPageLimit(0)

然后,在完成加载后,调整为要在内存中保留多少以便更好地滚动用户。

mViewPager.setOffscreenPageLimit(2)

那应该可以完成您要求的行为。