19


我知道默认情况下PagerAdapter只加载当前、下一页和上一页。有没有办法改变它,所以它会加载每一页?谢谢!

4

4 回答 4

45

如果您有N页面,则可以使用setOffscreenPageLimit(N-1),以便它将所有页面保留在内存中。

于 2012-10-03T10:04:52.667 回答
1

我不确定这是一个答案,但是适配器的整个概念(也适用于列表/网格等)是您不会一直将所有视图加载到内存中,但它只会膨胀可见的内容. 考虑一个包含 10000 个项目的 ListView,如果它尝试将它们全部加载,应用程序将会崩溃。

文档在某处指出,如果您知道要显示多少页面和内容,“setOffscreenPageLimit”会很有用且速度更快。如果您知道要显示的信息并且重量不重,“setOffscreenPageLimit”实际上会提高您的性能,因为视图只会膨胀一次。

于 2012-10-10T09:42:26.127 回答
0

我不确定这是一个答案,但适配器的整个概念(也适用于列表/网格等)是您不会一直将所有视图加载到内存中,但它只会膨胀可见的内容.

考虑一个包含 10000 个项目的 ListView,如果它尝试将它们全部加载,应用程序将会崩溃。

使用 Horizo​​ntalScrollView,您会将所有视图加载到内存中。

于 2012-10-02T11:48:53.687 回答
-8

我认为不可能一次加载所有页面。您应该重新设计代码。

于 2012-10-02T11:49:53.797 回答