
Android 源码分析
鸽一门
Slow down, Old Sport. 慢慢来,比较快~
展开
-
Android 源码详解:View的事件分发机制
1原创 2016-10-24 12:41:35 · 1064 阅读 · 0 评论 -
浅析RxJava 1.x&2.x版本区别及原理(三):1.x 版本 Scheduler调度线程变换及subscribeOn、observeOn方法源码解析
上两篇文章都是对比分析RxJava中较基本的订阅流程与操作,即Observable、Flowable等基本元素的源码,还有map、lift操作符的源码。在对Rxjava框架有了一个坚实的基础后,此篇文章将直袭Rxjava中最闪亮的Point,也是Android猿平常在开发中经常遇到的需求 —— 线程切换,主线程中需要进行耗时操作,要求切换到子线程,子线程中需要进行UI更新,要切切换到主线程。以上切...原创 2018-05-06 16:44:05 · 944 阅读 · 0 评论 -
浅析RxJava 1.x&2.x版本区别及原理(二):map、lift操作符源码解析
上一篇文章讲解了RxJava 1.x&2.x版本的基本元素(Observable、Subscriber、Flowable、Observer等)流程源码分析,对RxJava两个版本的基本使用元素和订阅原理有了一定的认识后,此篇文章将重点置于map、lift操作符,已知操作符的作用是将发出的数据进行处理再发送,RxJava源码内部具体操作原理如何?来一探究竟。此系列文章重点在于分析源码,并...原创 2018-05-04 17:08:21 · 960 阅读 · 0 评论 -
浅析RxJava 1.x&2.x版本使用区别及原理(一):Observable、Flowable等基本元素源码解析
RxJava开源框架的风靡程度在Github上无需多言,它带来的响应式编程模式和线程随意切换、嵌套请求、背压等功能给了开发者耳目一新的体验,更是成为了大多数APP中常用的RxJava+Okhttp/Retrofit+MVP/MVVM/Clean黄金组合中的一员。我犹记得知乎团队在去年线下还开展过一次线下RxJava交流会,邀请了扔物线讲解相关知识及体验,可见各大厂对此的重视度。如非要列举一个RxJ...原创 2018-05-02 23:27:55 · 5732 阅读 · 1 评论 -
Android热修复(一):底层替换、类加载原理总结 及 DexClassLoader类加载机制源码探索
在早期的Android开发中,若客户端发布更新后遇到紧急bug需要及时修复,通常只能等待新版本解决再次发布,但是重新发布版本代价太大且用户下载安装成本高,若Bug未及时修复,无疑会严重影响用户体验,因此衍生了一系列技术来解决以上问题,其中一种就是Hybrid方案,即将需要经常变更的业务逻辑以H5的形式独立出来。还有一种是插件化方案。因此在Android开发近几年中,又衍生出了新的解决方案——热修复。开发者可以直接将更原创 2018-02-23 09:24:17 · 7088 阅读 · 2 评论 -
以 Okhttp3源码 为例 ------ 图解 缓存机制 的原理和实现(下)
之前写的一篇是介绍缓存机制的流程和原理,并讲解了HTTP协议中缓存相关的字段,彻底了解了缓存机制原理后实践了Okhttp3框架的缓存实现,即第一篇的内容已经打下了基础,此篇就从源码的角度来解析Okhttp3框架的缓存机制的实现。(未看过第一篇,建议先了解缓存机制原理及HTTP协议中的重要字段,链接如下:) http://blog.youkuaiyun.com/itermeng/article/detai原创 2017-07-04 09:17:29 · 2788 阅读 · 3 评论 -
以 Okhttp3源码 为例 ------ 图解 缓存机制 的原理和实现(上)
缓存机制一直以来是一个不可忽视的重要模块,广泛地被运用到 网页端和移动端。对于服务器而言,客户端的缓存很大程度上缓解了它的压力,更是为用户带来了产品快速响应的体验,拥有很多好处。既然是网络请求,必然与HTTP协议联系紧密,不论你是否有这之类的经验,此篇将会从基础开始总结,共同学习缓存机制。原创 2017-02-06 16:29:22 · 4450 阅读 · 0 评论 -
Android 异步任务:AsyncTask机制 源码详细版解析------从入门到升天
相信大家对**AsyncTask机制**都不陌生?基本的使用的方法和注意事项都清楚,编写一个类,继承AsyncTask类,必须重写**doInBackground()**方法,运行在**子线程**,耗时的操作在此执行;**onPostExecute()**方法在**doInBackground()**执行完**后**被回调,运行在**主线程**,可进行**UI更新**;若需要显示**更新**的进度,可重写**onPr原创 2016-09-29 18:52:24 · 2253 阅读 · 0 评论 -
Android 消息机制:Handler、Looper、Message源码 详细版解析 ------从入门到升天
简介首先复习一下大多数人都知道的一个流程:最外框是一个主线程,它在运行的时候,内部已初始化一个轮循器Looper,而Looper类中有消息队列MessageQueue,接着会调用loop()方法不断去读取消息Message,该方法是一个死循环,读取消息Message后会将消息交给其对应的handler(只要Message存在,handler也存在)。最后对应的handler会调用handlerMes原创 2016-10-06 19:44:48 · 2131 阅读 · 1 评论 -
Android 高级UI解密 (六) :结合Activity启动源码剖析View的诞生
1原创 2018-06-21 14:38:09 · 814 阅读 · 0 评论