延迟加载~懒惰加载
思路:
在初始化各个activity的时候,提供的layout没有全部加载出来,只是加载出来一个textview(正在加载中……的字样),在MyOnPageChangeListener滑动监听的时候,如果是第一次滑动,那么就将剩下的控件加载出来,并且搜索数据。
走过的弯路:
1.之前看了很多网上的资料,说换一个jar包,里面的setOffscreenPageLimit(0)来设置不提前预加载,但是换上jar包之后,发现曾经滑动过的界面,还是要重新再次加载一次,直接throw away
另外,可以使用ragment+viewpager:
如果采用fragment+viewpager ,fragment里面含有lazyload()再进行判断,这样省事多了.
public abstract class xxxFragment extends Fragment {
/** Fragment当前状态是否可见 */
protected boolean isVisible;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(getUserVisibleHint()) {
isVisible = true;
onVisible();
} else {
isVisible = false;
onInvisible();
}
}
/**
* 可见
*/
protected void onVisible() {
lazyLoad();
}
/**
* 不可见
*/
protected void onInvisible() {
}
/**
* 延迟加载
* 子类必须重写此方法
*/
protected abstract void lazyLoad();
}
推荐博客:http://blog.csdn.net/jdsjlzx/article/details/49970017