android code source
soullines
只若初见
展开
-
多线程开发---AsyncTask源码解析
在android开发中线程有主副之别,即耗时操作要由子线程操作,然后主线程来更新Ui;handler就充当一个子线程和主线程切换的角色;但是相比于handler,AsyncTask更加轻量级;那么直接开始解析AsyncTask的源码:1.AsyncTask的使用: //参一:Params, 参二:Progress, 参三:Result AsyncTask mAsync原创 2017-08-24 14:04:37 · 301 阅读 · 0 评论 -
android分发机制---- 源码解析
android中分发机制在自定义的View中尤为重要,贯穿android Activity – ViewGroup – View的Event传递;为了提高理解,我们分部阐述1.android分发机制概述 2.图解 3.android源码1.android分发机制在android中Event是自上而下分发的:Activity —-> ViewGroup —-&...原创 2018-06-25 23:25:19 · 269 阅读 · 0 评论 -
OkHttp源码分析----拦截器链
在上一篇中对OkHttp源码的流程梳理了一遍,当然留了一个尾巴:OkHttp通过拦截器返回reponse响应,进而完成整个http请求工作; 接下来我们来探讨分析OkHttp中的拦截器链:首先再续前缘,为了读者更好的理解,有必要上图以及粘贴OkHttp请求网络的源码请参考OkHttp源码分析—- 图解源码 + 源码解析 注意看红框中的部分,在OkHttp后期,由拦截器链...原创 2018-05-16 12:17:10 · 664 阅读 · 0 评论 -
OkHttp源码分析---- 图解源码 + 源码解析
OkHttp到Retrofit + OkHttp再到hongyang大神的OkHttpUtils,OkHttp对于android的网络框架至关重要,之前在博客中有对OkHttp2.x 到OkHttp3.x使用及其源码进行过剖析 okhttp 2.x 用法/封装 Okhttp3使用 + 源码完全解析 但是相对于其他框架OkHttp的源码较多,需要有清晰的逻辑线来理解,当然前...原创 2018-05-16 00:55:52 · 1381 阅读 · 0 评论 -
Glide 源码解析 ----- android source code for Glide 4.x
作为google主推的一款图片加载框架,从glide3.x 到glide4.x加入apt的注解编译;详细的使用可以详见官方文档 [Glide v4] https://muyangmin.github.io/glide-docs-cn/首先来看Glide的基本使用: (1)支持Memory和Disk图片缓存。 (2)支持gif和webp格式图片。 (3)根据A...原创 2018-04-27 14:14:28 · 398 阅读 · 0 评论 -
Android中SharedPreferences源码分析
在android中,对于一些少量的数据,会使用SharedPreferences进行key–value的Sp存储,ok那么对于Sp我们的一些源码层的了解必不可少:首先,直接抛出Api来进行逐步的源码理解://存储数据 /** * 获取默认的Sp * name: context.getPackageName() + "_prefere...原创 2018-02-26 19:32:24 · 540 阅读 · 0 评论 -
android中属性动画---ValueAnimator源码探究
在android中特效的展示会用到各种各样的属性动画,所以下面来看下android中属性动画的源码,其实在我看来源码是熟悉api和实现相关代码最直接最有效以及最深刻的途径,废话不多说,进入正题:因为ObjectAnimator是继承自ValueAnimator,会有一些方法的使用覆盖,所以我们先来看ValueAnimatorValueAnimator首先 ValueAnimato原创 2018-01-30 19:23:41 · 621 阅读 · 0 评论 -
android Ipc----Binder<Aldl>源码分析
在android中进程与之间的通信最常用的是基于binder的Aldl(在ALDL中进行了一部分封装),所以使用起来比较方便首先来粘贴自己写的一个aidl的demo ,基于此进行源码的探究: 首先在android中service—-client之间的通信ok 下面 来看代码 :Service:Book.aidl:// Book.aidlpackage com.原创 2018-01-11 23:38:19 · 368 阅读 · 0 评论 -
Retrofit源码解析
retrofit源码解析在近期的项目中网络框架使用retrofit居多,总而言之retrofit的使用还是比较熟练的,从封装到网络请求的bindData,还是比较方便的;retrofit的注解和retrofit+rajava是的retrofit成为android网络框架的主流 下面看一张图: 下面代码为retrofit的简单使用:<包括添加了retrofit请求的对话框> private原创 2017-06-27 11:55:14 · 546 阅读 · 0 评论 -
Okhttp3使用 + 源码完全解析
在使用过okhttp3之后,必然的一步当是对源码的研究 这样可以对其优劣和功能封装有一个全面详尽的了解 ok 下面粘贴okhttp3的核心代码(url暂时随意定义) OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder() .url原创 2017-09-21 20:09:02 · 2458 阅读 · 0 评论 -
Glide的源码分析<一>
Glide的源码分析 glide作为android的图片加载框架,实现起来比较简便:Glide.with(mActivity) .load(newsBean.getNimg())-----load url to get image .error(R.drawable.icon_scord) .ce原创 2017-06-21 18:29:11 · 572 阅读 · 0 评论 -
深入浅出--Rxjava源码分析<一>
在之前的博客中简单介绍了Rxjava的使用和与Retrofit的API配合使用;那么在这里我们来看下Rxjava的源码;1.Observable–>(subscribe)Subscriber首先来看完整代码:Observable.create(new Observable.OnSubscribe<Drawable>() { @Override publ原创 2017-09-18 19:50:10 · 654 阅读 · 0 评论 -
volley源码分析
volley源码分析 背景:在2013年Google I/O大会上推出了一个新的网络通信框架Volley。Volley既可以访问网络取得数据,也可以加载图片,并且在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕 ok~ 废话不多说直接进入正题;首先简单介绍volle原创 2017-07-06 16:41:07 · 308 阅读 · 0 评论 -
android局部更新(RecyclerView+ DiffUtil)
在android中listView/RecyclerView是最常用的ui控件,最常见的交互多是list的刷新,刷新和加载的交互涉及到adapter的刷新----即notifyDataSetChanged()全局刷新 但是notifychaged有一些不可避免的弊端: 1.不会触发 RecyclerView 的局部更新的动画。 2.性能低,会刷新整个 RecyclerView原创 2017-08-21 22:12:39 · 4312 阅读 · 0 评论 -
android中的binder机制
在android跨进程通信中binder必不可少,从Activty的启动源码就可以看到Activity的周期控制就是ActivityThread和AMS之间的binder跨进程通信,谈到binder机制就绕不过AIDL;下面开始介绍;1.AIDL代码实例2.AIDL源码3.AIDL图解1.AIDL代码实例项目地址首先要了解binder机制,b必然绕不开AIDL;那么...原创 2018-07-03 17:42:37 · 351 阅读 · 0 评论