小鄧子
小鄧子
你好,我想请教个有关MD语法的问题,这种包结构,虚线和折线,如何使用MD书写呢。 
@cssmagic 好的,谢谢你的回答,我尝试写一下。
@hax 恩恩,我试一下缩进,写一下。谢谢你的回答。
请提供一下 gradle 版本和更详细的编译堆栈
抱歉,来晚了。 @ZhaoKaiQiang 开了个好头,而且[OkHttpProxy](https://github.com/ZhaoKaiQiang/OkHttpPlus)用起来酷极了。 RxJava提供了丰富的API用来创建`Observable`,当然最灵活的还是使用`Observable.create( )`方式来自定义发送事件。虽然使用方式灵活多变,但我们最好还是遵循[**Observable条约**](http://reactivex.io/documentation/contract.html)和[**Rx设计规范** ](https://go.microsoft.com/fwlink/?LinkID=205219),实现`Observer`接口的实现类,允许使用`.onNext( )`发送任意数量的事件,并且可选择性的添加`.onCompleted( )`或`.onError( )`操作符,但只能添加二者之一,这样表明Observable事件序列已经结束了,保证Observable事件序列的消费者,能够安全的执行清理操作。当然,一般情况下传入`.subscribe( )`中的`subscriber`会被封装成`SafeSubscriber`,其中成员变量`done`能够确保调用`onCompleted( )`或`.onError( )`后`Subscriber`不再接受发送自`.onNext( )`的事件,然后自己自动解除订阅关系。另外需要补充的是`SafeSubscriber`并不能保证`.onNext( )`发送事件的同步执行,`.unsubscribe( )`的调用,也不能保证链上的操作符立即停止发送事件。 以下是我给出的基本使用方式,如有建议请指出。 ``` Observable.create(new Observable.OnSubscribe() { @Override public void call(Subscriber
@zsxwing 像[MainThreadSubscription ](https://github.com/ReactiveX/RxAndroid/blob/master/rxandroid/src/main/java/rx/android/MainThreadSubscription.java)那样把isUnsubscribed做到同步,应该就能避免重复clear操作了吧。而且我看到[BooleanSubscription](https://github.com/ReactiveX/RxJava/blob/c63fa2ec7b4da320ef1849a449afb70a5e5046b4/src/main/java/rx/subscriptions/BooleanSubscription.java)也是这样做的,只不过没有限定Android主线程。 `MainThreadSubscription`这个类之前一直存在于[RxBinding](https://github.com/JakeWharton/RxBinding)中,不过最近被转移到了[RxAndroid](https://github.com/ReactiveX/RxAndroid)中。
@zsxwing 恩恩,get了。
@johnwatsondev 你说的很对,RxJava就是通过组合那些简直不能更神奇的操作符来处理基于事件驱动的异步/同步数据流的。不过关于**RxAndroid**,很多人存在误解,它是为了Android而生的,但并不是Android下的Rx,我们使用的依然是RxJava,这是JakeWharton对**RxAndroid**的描述: > Android specific bindings for RxJava. > This module adds the minimum classes to RxJava that make writing reactive components in Android applications easy and hassle-free. More specifically,...
@johnwatsondev 很抱歉,我不是很理解您所说的同步用法,能否举个例子,thanks :)
@johnwatsondev 嗯哼,你说的没错,消息驱动的确是响应式编程的必备特点。不够我还是想补充一下,响应式编程的最大威力除了Responsive(响应式)和Message-driven(消息驱动)的外,还具备以下特点: - Resilient(弹性的):当系统中的部分组件或者数据出错时,仍能做出响应。不得不提的是RxJava对Error的传递机制简直太棒了,这不仅让我避免了回调地狱,而且也让我对系统进行容错处理变得更容易,因为我能够对这些error做出即时响应。 - Scalable(伸缩性):就如@zsxwing老师说的那样Backpressure Mechanisms的加入让RxJava的代码难度增加了好几个等级,但是多亏了这个,才让我们在解决Overload与Load Shedding等问题时轻松了许多。