问题在于:我有Observable
和Subscriber
。我尝试在Observable
线程中启动.io()
,因为它可与文件和zip归档程序一起使用(我不会显示代码-太大),但是Observable
却无能为力!:
Observable<Double> creatingObservable = getCreatingObservable(image);
Subscriber<Double> creatingSubscriber = getCreatingSubscriber();
creatingObservable
.subscribeOn(Schedulers.io())
.subscribe(creatingSubscriber);
如果我在没有
subscribeOn()
的情况下启动代码,则一切正常。有什么问题以及如何解决附言System.out.println()也不起作用。问题有所有调度程序的线程。
最佳答案
看来问题在于主线程在creatingObservable
之前终止可以发出任何值。
一个简单的解决方案:使主线程等待足够长的时间,以使creatingObservable
能够发出/完成。
Observable<Double> creatingObservable = getCreatingObservable(image);
Subscriber<Double> creatingSubscriber = getCreatingSubscriber();
creatingObservable
.subscribeOn(Schedulers.io())
.subscribe(creatingSubscriber);
Thread.sleep(5000); //to wait 5 seconds while creatingObservable is running on IO thread