我在ViewPager
实例中使用的片段占用大量资源,因此我只想一次加载一个。当我尝试以下操作时:
mViewPager.setOffscreenPageLimit(0);
mViewPager.setAdapter(mPagerAdapter);
我的
FragmentStatePagerAdapter.getItem(int position)
覆盖函数被调用了3次,这就是我调用mViewPager.setOffscreenPageLimit(1)
时发生的情况。我希望它只被调用一次,因为我指定了0个屏幕外页面。我相信我正确地调用了所有内容,因为如果我调用
mViewPager.setOffscreenPageLimit(2)
,FragmentStatePagerAdapter.getItem(int position)
的调用次数将达到预期的5次。ViewPager是否至少需要1个离屏页面,或者我在这里做错了什么?
最佳答案
是的。如果我正确地阅读了源代码,则应该在LogCat中收到关于此的警告,例如:
Requested offscreen page limit 0 too small; defaulting to 1