Android仿微信Viewpager-Fragment惰性加载(lazy-loading)
今天起床,拿起手机开机第一时间当然是打开微信了,左右滑动Viewpager,发现它使用了一种叫惰性加载,或者说懒加载的方式加载Viewpager中的Fragment。该方法设置ViewPager允许有多少张pages存在于屏幕外,默认值是1。在范围之外的pages 的View会被销毁,即onDestroyView()会被执行。所以该类适用于需要展示的Fragment比较少的情况。若是要实现延迟加载,可以在调用onCreateView时获得一个空container的引用。在官方文档是这样描述该方法的: public void setUserVisibleHint 该方法的作用是设置一个提示或者标志,该标志代表的是Fragment在当前是否处于对用户的可见状态。注意这里的可见并不能与Activity或Fragment的onStart或者onResume混淆。所以根据这个hint做一个判断,若等于true,立即加载原本要正常显示的视图和数据。
用户评论