我目前正在创建一个Android事件应用程序,该应用程序使用RxJava用Observable.create()包装旧的网络层和缓存设置。我目前难以理解如何处理预取数据。最初,我显示一个事件列表,然后打开一个EventDetail Activity,它将获取给定事件的内容。我想预取一些事件的内容,但如果在预取返回和缓存之前选择了事件,最终会进行冗余网络调用。有没有一种方法可以使Observables / subscriptions在Activity开关上保持活动状态?应用程序中包含单个网络层?任何帮助将不胜感激。
答案 0 :(得分:0)
通常情况下,我保持所有逻辑远离Activities
,所以,“是的,绝对!”:网络层就是您所需要的。
保持这种方法,即使重新启动Subscriptions
,您的Activity
也会保持活跃状态,例如,在轮换时。您需要查看的一个非常有用的运算符是.cache()
,它可以帮助您重复使用正在进行的网络请求,而不是在新的subscribe()
上触发新的请求。