自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Android Gradle Task依赖

Android Gradle Task依赖

2018-03-22 10:21:11 1159 2

原创 Retrofit2代码分析

几个核心的类Retrofit,入口类Call,请求接口类CallAdapter,Call适配器,可以将Call转换为其他的类实例,比如,在与Rxjava一起使用的时候,将Call转换为ObservableConverter,request和response的转换类ServiceMethod,个人感觉是最核心的实现类,request、response的各种转换都是在这里执行的OkHt

2018-01-13 16:40:31 230

原创 okHttp连接流程

在okhttp发起请求的调用链中,在发起请求之前需要建立连接,负责建立连接的就是ConnectInterceptor.intercept了@Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realChain = (RealInterceptorChain

2018-01-08 16:54:43 1268

原创 okHttp缓存机制

基本流程CacheInterceptor,主要的步骤已经在下面代码中注释了出来,最关键的就是第二步,单独分析一下这一步@Override public Response intercept(Chain chain) throws IOException { // 1、get cache Response cacheCandidate = cache != null

2018-01-08 16:54:12 635

原创 okHttp重试机制

RetryAndFollowUpInterceptor,重试流程比较清晰,简略写了下注释,涉及到的类主要就是StreamAllocation,这个类用来管理链接connection、请求及编解码类HttpCodec、路由RouteSelector,真正的使用时在后面的连接和请求过程中,这里主要是实例化和释放@Override public Response intercept(Chain

2018-01-08 16:47:25 9461 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 759

原创 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 335

原创 升级Gradle 3.0遇到的坑

升级gradle 3.0遇到的坑

2017-11-28 18:54:17 11900 3

原创 Replugin host gradle插件分析

Replugin host gradle 插件分析

2017-11-23 14:52:17 525

原创 Replugin startActivity流程

RePlugin startActivity

2017-11-23 14:51:24 879

原创 Replugin Application初始化流程

Replugin初始化流程

2017-11-23 14:49:55 1072

原创 Replugin ContentProvider实现机制

plugin调用ContentProvider是通过plugin-lib的PluginProviderClient类进行的,以PluginProviderClient.query为例,看一下Replugin ContentProvider的实现机制。先总结一下调用栈PluginProviderClient.query -- plugin-lib PluginProviderCl

2017-11-23 14:48:06 1203

原创 RxLifecycle防内存泄漏分析

调用链的生成以fragment为例,fragment继承RxLifecycle的RxFragment,然后在fragment中发起网络请求// Retrofit生成的observableRetrofit.create(xxx).subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io())

2017-08-16 17:37:22 857

原创 Android--使用反射修改TabLayout下划线宽度

Android--通过反射修改TabLayout下划线宽度

2017-04-27 13:17:06 1240

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除