13

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

  mViewPager.setOffscreenPageLimit(3);

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

4

2 回答 2

21

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

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

这是作为优化提供的。如果您事先知道需要支持的页面数量或在页面上设置了延迟加载机制,则调整此设置可以提高分页动画和交互的感知流畅度。如果您有少量页面 (3-4) 可以同时保持活动状态,那么在用户页面来回切换时,新创建的视图子树的布局将花费更少的时间。

您应该将此限制保持在较低水平,尤其是在您的页面具有复杂布局的情况下。此设置默认为 1。

如果您只使用三页,那么您仍然在文档描述的情况下,它应该让您的 UI 更流畅。当然它会消耗内存,但只要你保持在这样的范围内,它应该不是问题。

于 2012-09-21T22:23:28.537 回答
1

我发现通过动态改变数字,不仅可以通过将数字调大来优化分页动画和交互,还可以通过减小数字来优化页面内动画和交互的流畅度。(前提是你知道你想要的页面长度)

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

于 2013-05-05T18:08:56.303 回答