简介
Preloader是一个用于异步加载数据的工具。它提供同步或者异步的获取结果回调。
适当地使用可让业务层获取数据的时间点提前。
使用例子
以简单activity跳转的例子为例,从MainActivity跳转到SubActivity。其中SubActivity的完整
显示需要发起一次请求,获取到结果后显示在中央的textView。
利用Preloader,我们可以在MainActivity发起跳转的时候开始请求,在SubActivity需要的时候将结果取出。
这样子可以把获取结果的时间点提前,起到加速显示SubActivity的作用。
代码如下所示:
- MainActivity:
PreloadTask<String> task = new PreloadTask<String>() {
@Override
public void run(Preloader.Result<String> result) throws Exception {
try {
// 模拟5秒的同步请求
Thread.sleep(5*1000);
// 设置请求结果
result.set("hello world");
} catch (InterruptedException e) {
throw e;
}
}
@Override
public void onCancel() {
Log.d(TAG, "onCancel() called");
}
};
// 启动task,获取taskId。
int taskId = Preloader.start(task);
// 传递taskId,用于获取结果。
Intent inten