android 新引入的Fragment加入了Viewpager这样的一个组件。至于该控件的功能在这里就不说了。这篇文章主要解决fragment viewpager预加载的问题。
默认的viewpager是会预先加载下一个fragment的控件的,可以通过setOffscreenPageLimit(int limit) 来设置要提前加载的fragment。即是说当limit等于5
的时候,打开第一个fragment的时候就相当于同时打开了其他的4个fragment了。这样切换的时候将会非常流畅。
但是,当每个fragment都需要去联网加载网络数据或者做一些耗时的操作,而且有其他的fragment并不是必须的,用户不一定会打开。这样的话如果还
预加载的话将会浪费资源,用户体验也不好。虽然可以通过setOffscreenPageLimit(0)来设置不提前预加载,但这样的设置没有效果。通过研究ViewPager的
源码,可以设置该类默认的DEFAULT_OFFSCREEN_PAGES = 0,来预防预加载。
下面是我整理的android-support-v4.jar,兼容了所有新版本和旧版本。
http://06peng.com/archives/155
本文转自06peng 51CTO博客,原文链接:http://blog.51cto.com/06peng/1057409,如需转载请自行联系原作者