我尝试在我的 Android 活动中应用 MVVM 模式(我是一个 Android 菜鸟)。
我将 Room 与 RxJava 2 一起使用,例如,这是我的存储库中方法的签名:
public Single<MissionTask> getMissionTaskByID(long id) {..}
在我的ViewModel类中,我引用了存储库和如下代码:
private void doSomethingOnUserEvent() {
...
missionTaskRepository.getMissionTaskByID(firstID).
observeOn(AndroidSchedulers.mainThread()).
subscribeOn(Schedulers.io()).
subscribe(missionTask ->
{
// do some work and update live data
},
t -> {
// handle error
});
...
}
到目前为止一切顺利,表面上看起来一切正常。现在 -subscribe
返回一个Disposable
.
我的问题是:
- 我应该如何处理一次性用品(例如,我可以将它放入复合一次性用品中,并在模型清除后处理复合材料)?
- 如果我不处理它会发生什么?泄漏?为什么?
在我经历的一些示例中,没有处理 Disposable。
更新:我在android-architecture-components中看到了复合一次性用品的使用。
谢谢。