- 博客(14)
- 收藏
- 关注
原创 Retrofit2代码分析
几个核心的类Retrofit,入口类Call,请求接口类CallAdapter,Call适配器,可以将Call转换为其他的类实例,比如,在与Rxjava一起使用的时候,将Call转换为ObservableConverter,request和response的转换类ServiceMethod,个人感觉是最核心的实现类,request、response的各种转换都是在这里执行的OkHt
2018-01-13 16:40:31 235
原创 okHttp连接流程
在okhttp发起请求的调用链中,在发起请求之前需要建立连接,负责建立连接的就是ConnectInterceptor.intercept了@Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain = (RealInterceptorChain
2018-01-08 16:54:43 1280
原创 okHttp缓存机制
基本流程CacheInterceptor,主要的步骤已经在下面代码中注释了出来,最关键的就是第二步,单独分析一下这一步@Override public Response intercept(Chain chain) throws IOException { // 1、get cache Response cacheCandidate = cache != null
2018-01-08 16:54:12 640
原创 okHttp重试机制
RetryAndFollowUpInterceptor,重试流程比较清晰,简略写了下注释,涉及到的类主要就是StreamAllocation,这个类用来管理链接connection、请求及编解码类HttpCodec、路由RouteSelector,真正的使用时在后面的连接和请求过程中,这里主要是实例化和释放@Override public Response intercept(Chain
2018-01-08 16:47:25 9487 1
原创 Android 应用安装流程初探
启动安装在app代码中,如果想安装另一个应用,一般通过下列代码实现,调用后会显示系统安装界面Intent intent = new Intent(Intent.ACTION_VIEW);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType("the apkPath of app...",
2018-01-05 16:21:44 775
原创 okHttp基本流程
基本用法同步:OkHttpClient client = new OkHttpClient.Builder().build();Request request = new Request.Builder().url("http://www.csdn.net").build();try { client.newCall(request).execute();} catch
2018-01-02 14:53:15 342
原创 Replugin ContentProvider实现机制
plugin调用ContentProvider是通过plugin-lib的PluginProviderClient类进行的,以PluginProviderClient.query为例,看一下Replugin ContentProvider的实现机制。先总结一下调用栈PluginProviderClient.query -- plugin-lib PluginProviderCl
2017-11-23 14:48:06 1213
原创 RxLifecycle防内存泄漏分析
调用链的生成以fragment为例,fragment继承RxLifecycle的RxFragment,然后在fragment中发起网络请求// Retrofit生成的observableRetrofit.create(xxx).subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io())
2017-08-16 17:37:22 864
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人