okhttp解析

1、okhttp源码核心解析
https://www.jianshu.com/p/02445b48c752

2、okhttp源码详细解析
https://www.jianshu.com/p/412155af841f

5713484-35a9989e893171f1.png

3、retrofit源码解析
https://www.jianshu.com/p/f57b7cdb1c99

4、Rxjava使用
https://www.jianshu.com/p/cd3557b1a474

(1)观察者模式

compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

(2)Rxjava 内存泄漏的解决方式

  • CompositeDisposable
  • RxLifecycle

作者:juexingzhe
链接:https://www.jianshu.com/p/c8f4e0e8270e
主要有下面几种使用方式:
1 bindToLifecycle
2 bindUntilEvent
3 LifecycleProvider

myObservable
    .compose(RxLifecycle.bind(lifecycle))
    .subscribe();
  • AutoDispose
//在Activity中使用
myObservable
    .as(AutoDispose.autoDisposable(AndroidLifecycleScopeProvider.from(this))  
    .subscribe(s -> ...);

(3)RxJava2.0的异步和链式编程
多次指定上游的线程只有第一次指定的有效, 也就是说多次调用subscribeOn()只有第一次的有效。
多次指定下游的线程是可以的, 也就是说每调用一次observeOn() , 下游的线程就会切换一次。

线程变换总结:
1.订阅将会触发生产
2.将上游的订阅过程,封装到runnable,再交由scheduler去执行
3.将下游的消费过程,封装到runnable,再交由scheduler去执行

你可能感兴趣的:(okhttp解析)