Android clear()在CompositeDisposable中崩溃应用程序,在CompositeSubscription中清除成功

Android clear()在CompositeDisposable中崩溃应用程序,在CompositeSubscription中清除成功,android,rx-java,rx-java2,Android,Rx Java,Rx Java2,我正在将应用程序从RxJava1迁移到RxJava2 在RxJava1中,我有以下代码 this.subscriptions = new CompositeSubscription(); if (subscriptions.hasSubscriptions()) subscriptions.clear(); this.disposables = new CompositeDisposable(); if (disposables.size() != 0) disposables.clear()

我正在将应用程序从RxJava1迁移到RxJava2

在RxJava1中,我有以下代码

this.subscriptions = new CompositeSubscription();
if (subscriptions.hasSubscriptions()) subscriptions.clear();
this.disposables = new CompositeDisposable();
if (disposables.size() != 0) disposables.clear();
在RxJava中,我有以下代码

this.subscriptions = new CompositeSubscription();
if (subscriptions.hasSubscriptions()) subscriptions.clear();
this.disposables = new CompositeDisposable();
if (disposables.size() != 0) disposables.clear();
不幸的是,现在我遇到了这个例外的问题:

io.reactivex.exceptions.UndeliverableException: java.net.SocketException: Socket closed
                                                                              at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:366)
                                                                              at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:83)
                                                                              at eu.szwiec.realtimetweets.networking.Service$1.subscribe(Service.java:41)
                                                                              at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
                                                                              at io.reactivex.Observable.subscribe(Observable.java:10841)
                                                                              at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner(ObservableFlatMap.java:162)
                                                                              at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onNext(ObservableFlatMap.java:139)
                                                                              at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:51)
                                                                              at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)
                                                                              at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:43)
                                                                              at io.reactivex.Observable.subscribe(Observable.java:10841)
                                                                              at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
                                                                              at io.reactivex.Observable.subscribe(Observable.java:10841)
                                                                              at io.reactivex.internal.operators.observable.ObservableFlatMap.subscribeActual(ObservableFlatMap.java:55)
                                                                              at io.reactivex.Observable.subscribe(Observable.java:10841)
                                                                              at io.reactivex.internal.operators.observable.ObservableOnErrorNext.subscribeActual(ObservableOnErrorNext.java:38)
                                                                              at io.reactivex.Observable.subscribe(Observable.java:10841)
                                                                              at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
                                                                              at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:451)
                                                                              at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
                                                                              at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
                                                                              at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
                                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                              at java.lang.Thread.run(Thread.java:761)
                                                                           Caused by: java.net.SocketException: Socket closed
你可以在这里阅读我的答案: