我目前正在创建一个Android事件应用程序,使用RxJava包装旧的网络层和缓存设置Observable.create()。我目前为如何接近预取数据而感到困惑。最初,我显示一个事件列表,然后打开一个EventDetail Activity,获取给定事件的内容。我想预取一些事件的内容,但如果在预取返回和缓存之前选择事件,最终会产生冗余的网络调用。有没有一种好方法可以让可观察/订阅在活动切换上保持活跃?在应用程序中保持一个单一的网络层?
通常情况下,我将所有的逻辑远离Activities
,所以,"是的,绝对!":网络层是你所需要的。
保持这种方法,即使Activity
重新启动,例如,在旋转时,您的Subscriptions
也将保持活动。您需要研究的一个非常有用的操作符是.cache()
,它将帮助您重用正在进行的网络请求,而不是在新的subscribe()
上触发一个新的网络请求。