背景:默认的viewpager是要加载前后两个view的数据的。
如果你有定时轮询其它页面的网络请求时。。。。没必要的开销有时候会很坑,尤其是弱网。。。
方法2种:
1.什么修改包的默认属性这种不适合偶们。
2.在不可见的时候,网络的定时器不要起,或者关掉就o了。
复写:setUserVisibleHint方法。
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getUserVisibleHint()) {
isVisible = true;
TimerTask keepAliveTask = new TimerTask() {
@Override
public void run() {
getAndSendBTTaskInfos();
}
};
// if (LoginManager.isConnected()) {
keepAliveTimer = new Timer("KeepAliveTimer", true);
keepAliveTimer.scheduleAtFixedRate(keepAliveTask, 0, 2000);
} else {
isVisible = false;
if (keepAliveTimer!=null) {
keepAliveTimer.cancel();
keepAliveTimer.purge();
}