[Android] Preloader 预加载框架

简介

Preloader是一个用于异步加载数据的工具。它提供同步或者异步的获取结果回调。
适当地使用可让业务层获取数据的时间点提前。

使用例子

以简单activity跳转的例子为例,从MainActivity跳转到SubActivity。其中SubActivity的完整
显示需要发起一次请求,获取到结果后显示在中央的textView。

利用Preloader,我们可以在MainActivity发起跳转的时候开始请求,在SubActivity需要的时候将结果取出。
这样子可以把获取结果的时间点提前,起到加速显示SubActivity的作用。

代码如下所示:

  • MainActivity:

  • SubActivity:

注意事项

  • 可通过PreloadTask.setGetResultTimeout设置异步获取结果的超时时间,默认为30秒。
  • 如果PreloadTask.isClearWhenGetResult()==false,那么需要使用者自己调用Preloader.clear方法来释放预加载task,
    否则预加载task将在第一次成功获取结果后被释放(无法再次通过Preloader.getResult取结果)
  • 对于同一个preloadResult对象,可多次调用get(),互不影响。

源码

https://github.com/legendmohe/Preloader

发表评论

电子邮件地址不会被公开。