我一直在使用.dispose()
强制关闭我的观察者,以防我进入另一个视图。我这样做是因为我有时会在订阅结束之前进入新活动。但是,在使用它时,即使我尝试再次启动观察者,我也会在活动期间永久禁用观察者。那么正式地说,yourObserverName.dispose()
真的会破坏未来的功能吗?如果是这样,我是否有更好的方法来结束观察者,以便在我再次调用它时可重复使用?
这是我的代码:
private void setupCoin() {
Log.d("Video Play", "---Making Coin ---");
Completable.timer(5, TimeUnit.SECONDS, AndroidSchedulers.mainThread()).subscribe(displayCoinObserver);
}
// I erase all the observers here. I am able to prevent crashing but If I call the observers again, i cannot create my coin again, thus my observers are no longer working .
public void disposeAllObservers() {
Log.d("Video Play", "---Erase Observable---");
displayCoinObserver.dispose();
waitForCoinClickObserver.dispose();
}