android源码分析
文章平均质量分 96
只管羊毛薅
写好每一行代码
展开
-
Handler用法及解析
目录1.handler作用: 1)传递消息Message2)子线程通知主线程更新ui2.常用api3.handler使用避免内存泄露 1)handler怎么使用会产生内存泄露? 2)如何避免handler的内存泄露? 3) 雷区4.handlerThread1) handlerThread是什么?2)HandlerThread使用及销毁...原创 2018-08-10 17:01:12 · 138987 阅读 · 9 评论 -
子线程更新ui相关
1.Android加载view有两种方式:一是setContentView,二是inflater.inflate()2.子线程其实是可以更新ui的,需要viewRoot,ViewRoot本质是一个Handler,作用是建立View与WindowsManger的通讯。通过Windowmanager的addView可以创建viewRoot,而activity在onresume中去addView,从...转载 2018-08-16 10:11:13 · 419 阅读 · 0 评论 -
AsyncTask使用及解析
目录 1.AsyncTask介绍1)AsyncTask抽象类的3参数2)继承AsyncTask可以实现的函数3)常用公共函数2.AsyncTask使用 1)demo1:加载单张图片2)demo2:异步加载多张图片3)取消异步任务3.注意点1)AsyncTask不与任何组件绑定生命周期2)内存泄漏3)屏幕旋转4)串行或者并行的执行异步任务4...原创 2018-08-16 16:29:07 · 17039 阅读 · 3 评论 -
Okhttp3使用及解析(一)
目录1.使用1)同步请求2)异步请求3)提交string4)提交流5)提交文件6)提交表单7)提交分块请求8)非系统拦截器2.解析执行流程1)OkHttpClient创建2)Request创建3)Call创建4)execute执行 5)enqueue执行Okhttp3使用及解析:https://mp.csdn.net/...原创 2018-10-25 10:10:07 · 1627 阅读 · 0 评论 -
Okhttp的连接池ConnectionPool(三)
目录1.get()方法2.put()Okhttp3使用及解析:https://mp.csdn.net/postedit/83339916okhttp系统拦截器:https://mp.csdn.net/postedit/83536609Okhttp的连接池ConnectionPool:https://mp.csdn.net/postedit/83650740 Okhttp...原创 2018-11-02 10:47:15 · 3838 阅读 · 0 评论 -
Okhttp的系统拦截器(二)
目录1.系统拦截器作用及执行顺序2.源码验证执行顺序3.源码验证各个拦截器的作用1)RetryAndFollowUpInterceptor2)BridgeInterceptor3)CacheInterceptor4)ConnectInterceptor5)CallServerInterceptor Okhttp3使用及解析:https://mp.csdn.n...原创 2018-11-02 10:20:40 · 208 阅读 · 0 评论 -
Retrofit使用及解析(二)
目录1.代理模式1)静态代理2)动态代理-jdk方式3)动态代理-CGLIB2.retrofit源码1)Retrofit类变量2)链式调用-Retrofit.builder()3)链式调用-baseUrl()4)链式调用-addConverterFactory()5)链式调用-addCallAdapterFactory5)链式调用-build()1....原创 2019-03-12 18:13:01 · 665 阅读 · 0 评论 -
Retrofit使用及解析(三)
目录1.Retrofit.create(接口类)1)提前验证2)动态代理部分核心1-ServiceMethod:a.讲解一:CallAdapter()b.讲解二:createResponseConverter()c:总结ServiceMethod的build()核心2-OkHttpCall :核心3-CallAdapter.adapt()2.拿到动态代理对...原创 2019-03-13 17:51:28 · 977 阅读 · 0 评论 -
Glide使用及源码分析
目录1.简介2.使用3.分析1)with()a.get(Context context)b.get(Activity activity)2)load()a.DrawableTypeRequest b.fromString()c.load(string)3)into()a)applyCenterCrop()b)glide.buildImageV...原创 2019-07-10 13:35:19 · 442 阅读 · 0 评论