代码:
static void readCharacteristic( RxBleDevice device, UUID characteristic, Action1<byte[]> callback ) {
Observable<RxBleConnection> deviceConnObservable = getSharedConnectionObservable( device );
deviceConnObservable
.subscribe(
callback,
throwable -> Log.d( TAG, "Error" ),
() -> { } // completed the read
);
}
我假设退出方法时,deviceConnObservable
被销毁。但是Subscriber
中的处理程序呢?它们是否已经消失,或者它们是否存在并被调用 - 当onError()
被销毁时,可能是Observable
处理程序?
假设他们没有,是否有可能在方法中创建Observable
?看起来好像等待onCompleted()
通知,不行吗?
答案 0 :(得分:1)
如果您的<div class="container">
<div class="col-lg-6 col-md-6 >
Column 1
</div>
<div class="col-lg-6 col-md-6 >
Column 2
</div
<div>
在当前线程中运行,则在退出方法之前完成订阅。
如果您的getSharedConnectionObservable
是异步的,那么您的getSharedConnectionObservable
就会出现参考链。
Observable
- &gt; Worker(Thread)
- &gt; {Task(Action0)
&amp; DownStream(Subscriber)
(UpStream(Observable)
)}
您的OperatorSubscribeOn
即将完成,您可以亲自试用。