public void registerJob(Runnable job) {
mBackgroundJobs.add(job);
}
@Override
public void onAppBackgrounded() {
if (NetworkUtil.isConnectedWifi(AppContext.getContext())) {
while (!mBackgroundJobs.isEmpty()){
mSerialExecutor.execute(mBackgroundJobs.poll());
}
}
}
/**
* 网络请求策略中的 Behavior 枚举类描述了被标记的请求返回数据是否需要渲染到屏幕上(比如预获取数据的请求就不需要立刻渲染)
*/
public enum Behavior {
Undefined(-1),
OffScreen(0),
OnScreen(1),
;
int weight;
Behavior(int weight) {
this.weight = weight;
}
}
来源: https://juejin.im/post/5a71a9c3f265da3e2f01459b