我在我的ViewPager实例中使用的片段是非常耗费资源的,所以我只想一次加载一个.当我尝试以下内容时:
mViewPager.setOffscreenPageLimit(0);
mViewPager.setAdapter(mPagerAdapter);
Run Code Online (Sandbox Code Playgroud)
我的FragmentStatePagerAdapter.getItem(int position)覆盖功能被调用3次,这是我打电话时发生的事情mViewPager.setOffscreenPageLimit(1).我希望它只被调用一次,因为我指定了0个屏幕外页面.
我相信我正在正确地呼唤一切,因为如果我打电话mViewPager.setOffscreenPageLimit(2),FragmentStatePagerAdapter.getItem(int position)就像我期望的那样被召唤5次.
ViewPager是否需要至少1个屏幕外页面,或者我在这里做错了什么?
我理解我能给出的最低数字setOffscreenPageLimit(int)是1.但我需要一次加载一页因为内存问题.
我将不得不使用旧式tabhost等?或者有没有办法/黑客我可以让我的viewPager一次加载一页?
我的适配器使用ViewHolder patern扩展BaseAdapter.