Rai*_*ker 6 java rx-java rx-java2
我的代码中有很多Single,比如
Disposable disp = Single.fromCallable(()-> loadData())
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(res-> showInUI(res),
throwable -> Log.e(TAG, throwable.getMessage()))
);
Run Code Online (Sandbox Code Playgroud)
当我从资料了解,之间的差别Observable,并Single是单可以响应错误,决不响应,有成功的回答它发射只有一次.现在我没有在任何地方处置,一切正常.
所以我需要执行disp.dispose()吗?
是的,确实,它是否是Single/ Observable/ 并不重要Completable.
这很重要,因为您不希望将UI绑定到某些后台工作,这会泄露您的Activity.
这也是一个问题,因为您不希望在UI之外(在您Activity被销毁之后)获得可能导致NPE或其他问题的通知.除此之外,当用户离开/关闭Activity/ 时,取消和停止昂贵的后台工作是一个很好的实践Screen,以便清除资源.
所有这些考虑都适用于所有Observable类型.