【发布时间】:2015-04-28 06:48:07
【问题描述】:
在 android 应用中,AppObservable 是每个 observable 的必须项吗?
我有一个 retrofit 生成的 Observable ,由 Dagger 注入:
public class UserInfoFragment extends Fragment {
@Inject
Observable<User> user;
}
在这个例子中
我应该像这样覆盖onViewCreated() 中的“用户”吗?
this.user = AppObservable.bindFragment(this , user);
此外,如果我不直接注入 Observable,我会注入 an Object containing an Observable:
@Inject
CachedValue<User> cachedUser;
并且在 CachedValue 中,有一个 Observable(跳过其他字段):
public class CachedValue<T> {
public Observable<T> getObservable() {
return networkObservable.startWith(localObservable).take(1);
}
}
我应该用 AppObservable 提升 Observable 替换这个 Observable 吗?
AppObservable.bindFragment(this , cachedUser.getObservable());
所有这些代码在模拟器中没有 AppObservable 的情况下完美运行(我确实在 onDestroyView() 取消订阅这些订阅),但我不知道在实际情况下是否足够?长时间运行后会有内存泄漏吗?
在 rx-android 的示例项目中,到处都看到了 AppObservable。但我不知道如何正确处理注入的 Observables(或包含 Observables 的对象)。
非常感谢。
【问题讨论】:
标签: android retrofit rx-java dagger rx-android