问题 viewPager.setOffscreenPageLimit(3)的实际效果是什么?


我有三页,并将页面限制设置为3。

  mViewPager.setOffscreenPageLimit(3);

这有什么实际效果?它是否会提高性能还是会导致内存消耗问题?


12365
2017-09-21 22:15


起源



答案:


文件: http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit(int)

设置应保留到的任意一侧的页数   处于空闲状态的视图层次结构中的当前页面。页面超出此范围   必要时,将从适配器重新创建限制。

这是作为优化提供的。如果你事先知道这个号码   您将需要支持或具有延迟加载机制的页面   放在你的页面上,调整这个设置可以带来好处   感知到的分页动画和交互的平滑性。如果你有   少量页面(3-4),你可以一次保持活动,   在新创建的视图子树的布局中花费的时间更少   用户来回翻页。

您应该将此限制保持在较低水平,特别是如果您的网页很复杂   布局。此设置默认为1。

如果您只使用三个页面,那么您仍然可以使用文档描述的情况,并且它应该允许您的UI更流畅。当然它消耗内存,但只要你保持在这样的范围内它就不应该是一个问题。


15
2017-09-21 22:23





我发现通过动态更改数字,您不仅可以通过使数字更大来优化分页动画和交互,还可以通过使数字变小来优化页面动画和交互。 (只要您知道所需的页面长度)

(只是想分享这个,因为它是相关的。很确定OP不再寻找答案。:))


1
2018-05-05 18:08