在应用程序上下文中使用Ion



我对使用Ion/AndroidAsync作为Android应用程序的"后端"很感兴趣。我不想让长时间运行的调用绑定到Android组件,所以我有一个背景层,只要Application是活的就保持活的。这个后台层有一个API,允许UI进行异步调用来执行不同的任务,并返回一个Future到UI(也允许在主线程上执行回调),以便它可以在组件之间传递,如果需要的话。

我喜欢Ion的API,但不想从Activity调用它;相反,我想在我的后台层中使用它,因为"任务"可能还需要与网络调用一起执行其他长时间运行的操作。话虽如此,如果我将应用程序Context传递给Ion.with(),我会遇到任何问题吗?

在应用程序上下文中可以很好地工作。它永远不会取消任何请求,因为Application上下文永远不会死亡。但这就是你想要的。

  1. 我的项目使用Ion默认实例与应用程序上下文请求所有图像。
  2. http://www.programcreek.com/java-api-examples/index.php?api=com.koushikdutta.ion.loader.HttpLoader
    这个开放源码示例使用上下文来获取应用程序上下文。所以,你也可以使用application。
  3. 但是Ion实例有Application reference,我认为长时间的任务可能会导致Application实例泄漏
  4. 离子。getDefault(上下文语境)。cancelAll(对象o);

最新更新