RxJava im Android和不应该被取消的操作



https://developer.android.com/topic/architecture/data-layer#in-内存高速缓存在浏览这些文档时,我发现Coroutines可以非常容易地控制以下事实:Internet连接是从AppCoroutineContext而不是从viewModel进行的。

如果用户在网络请求进行时离开屏幕,则会取消该请求,并且不会缓存结果。NewsRepository不应该使用调用者的CoroutineScope来执行此逻辑。相反,NewsRepository应该使用附加到其生命周期的CoroutineScope。获取最新消息需要是一项面向应用程序的操作。

您知道如何将其应用于RxJava吗?我必须订阅Application context。你什么时候给dispose ()打电话
有可能吗?

如果你真的不想取消网络呼叫,你应该把它放在服务中。

如果你想让你的调用与应用程序生命周期绑定,你真的不需要担心。只需在应用程序范围内的singleton对象中进行订阅-如果你Hilt并将对象注释为@Singleton,然后将其注入到你需要的地方,这很容易。

一般来说,你不应该这样做,所以我建议你要么查看服务,要么把你的网络呼叫放在视图模型中。

相关内容

  • 没有找到相关文章

最新更新