一片枫叶的专栏

让坚持成为一种习惯。

Android源码解析系列

知乎上看了一篇非常不错的博文:<a href="http://zhuanlan.zhihu.com/kaede/20563936">有没有必要阅读ANDROID源码</a> 看完之后痛定思过,平时所学往往是知其然然不知其所以然,所以为了更好的深入andr...

2016-02-19 10:33:42

阅读数 24581

评论数 7

Android源码解析(三十)-->触摸事件分发流程

前面一篇文章中我们分析了App返回按键的分发流程,从Native层到ViewRootImpl层到DocorView层到Activity层,以及在Activity中的dispatchKeyEvent方法中分发事件,最终调用了Activity的finish方法,即销毁Activity,所以一般情况下假...

2016-05-29 15:59:06

阅读数 10480

评论数 3

Android源码解析(二十九)-->应用程序返回按键执行流程

从这篇文章中我们开始分析android系统的事件分发流程,其实网上已经有了很多关于android系统的事件分发流程的文章,奈何看了很多但是印象还不是很深,所以这里总结一番。 android系统的事件分发流程分为很多部分: - Native层 --> ViewRootImpl层 -->...

2016-05-27 23:13:30

阅读数 11626

评论数 0

Android源码解析(二十八)-->电源开关机按键事件流程

和截屏按键、HOME按键的处理流程类似,电源按键由于也是系统级别的按键,所以对其的事件处理逻辑是和截屏按键、HOME按键类似,不在某一个App中,而是在PhoneWindowManager的dispatchUnhandledKey方法中。所以和前面两篇类似,这里我们也是从PhoneWindowMa...

2016-05-25 23:39:05

阅读数 12944

评论数 0

Android源码解析(二十七)-->HOME事件流程

上一篇文章中我们介绍了android系统的截屏事件,事件的处理逻辑不是在App中执行而是在PhoneWindowManager中执行,而本文我们现在主要讲解android系统中HOME按键的事件处理,和截屏事件类似,这里的HOME按键应该都是系统级别的按键事件监听,所以其处理事件的逻辑也应该和截屏...

2016-05-23 23:43:43

阅读数 15336

评论数 0

Android源码解析(二十六)-->截屏事件流程

今天这篇文章我们主要讲一下Android系统中的截屏事件处理流程。用过android系统手机的同学应该都知道,一般的android手机按下音量减少键和电源按键就会触发截屏事件(国内定制机做个修改的这里就不做考虑了)。那么这里的截屏事件是如何触发的呢?触发之后android系统是如何实现截屏操作的呢...

2016-05-22 16:59:59

阅读数 11636

评论数 3

Android源码解析(二十五)-->onLowMemory执行流程

上篇文章中我们分析了Activity的onSaveInstanceState方法执行时机,知道了Activity一旦执行了onStop方法就会执行onSaveInstanceState方法,具体的信息,可以参见onSaveInstanceState方法执行时机:http://blog.csdn.n...

2016-05-22 00:41:41

阅读数 11112

评论数 2

Android源码解析(二十四)-->onSaveInstanceState执行时机

我们已经分析过Activity的启动流程,从中也分析了Activity的生命周期。而其中有一个生命周期方法:onSaveInstanceState方法,今天我们主要讲解一下onSaveInstanceState方法的执行时机。 可能部分同学对Activity的onSaveInstanceStat...

2016-05-20 22:51:13

阅读数 26818

评论数 10

Android源码解析(二十三)-->Android异常处理流程

前面的几篇文章都是讲解的android中的窗口显示机制,包括Activity窗口加载绘制流程,Dialog窗口加载绘制流程,PopupWindow窗口加载绘制流程,Toast窗口加载绘制流程等等。整个Android的界面显示的原理都是类似的,都是通过Window对象控制View组件,实现加载与绘制...

2016-05-13 22:52:44

阅读数 14915

评论数 0

Android源码解析(二十二)-->Toast加载绘制流程

前面我们分析了Activity、Dialog、PopupWindow的加载绘制流程,相信大家对整个Android系统中的窗口绘制流程已经有了一个比较清晰的认识了,这里最后再给大家介绍一下Toast的加载绘制流程。 其实Toast窗口和Activity、Dialog、PopupWindow有一个不...

2016-05-11 23:39:44

阅读数 10378

评论数 0

Android源码解析(二十一)-->PopupWindow加载绘制流程

在前面的几篇文章中我们分析了Activity与Dialog的加载绘制流程,取消绘制流程,相信大家对Android系统的窗口绘制机制有了一个感性的认识了,这篇文章我们将继续分析一下PopupWindow加载绘制流程。 在分析PopupWindow之前,我们将首先说一下什么是PopupWindow?...

2016-05-10 23:29:21

阅读数 8860

评论数 0

Android源码解析(二十)-->Dialog取消绘制流程

上几篇文章中我们分析了Dialog的加载绘制流程,也分析了Acvityi的加载绘制流程,说白了Android系统中窗口的展示都是通过Window对象控制,通过ViewRootImpl对象执行绘制操作来完成的,那么窗口的取消绘制流程是怎么样的呢?这篇文章就以Dialog为例说明Window窗口是如何...

2016-05-04 21:27:32

阅读数 12296

评论数 1

Android源码解析(十九)-->Dialog加载绘制流程

其实Android系统中所有的显示控件(注意这里是控件,而不是组件)的加载绘制流程都是类似的,包括:Dialog的加载绘制流程,PopupWindow的加载绘制流程,Toast的显示原理等,上一篇文章中,我说在介绍了Activity界面的加载绘制流程之后,就会分析一下剩余几个控件的显示控制流程,这...

2016-05-02 00:20:22

阅读数 22643

评论数 3

Android源码解析(十八)-->Activity布局绘制流程

这篇文章是承接上一篇文章来写的,大家都知道Activity在Android体系中扮演者一个界面展示的角色,通过上一篇文章的分析,我们知道Activity是通过Window来控制界面的展示的,一个Window对象就是一个窗口对象,而每个Activity中都有一个相应的Window对象,所以说一个Ac...

2016-05-01 00:28:13

阅读数 17912

评论数 1

Android源码解析(十七)-->Activity布局加载流程

好吧,终于要开始讲讲Activity的布局加载流程了,大家都知道在Android体系中Activity扮演了一个界面展示的角色,这也是它与android中另外一个很重要的组件Service最大的不同,但是这个展示的界面的功能是Activity直接控制的么?界面的布局文件是如何加载到内存并被Acti...

2016-04-30 00:09:33

阅读数 21279

评论数 2

Android源码解析(十六)-->应用进程Context创建流程

今天讲讲应用进程Context的创建流程,相信大家平时在开发过程中经常会遇到对Context对象的使用,Application是Context,Activity是Context,Service也是Context,所以有一个经典的问题是一个App中一共有多少个Context?所以这个问题的答案是Ap...

2016-04-27 22:55:59

阅读数 9714

评论数 1

Android源码解析之(十五)-->Activity销毁流程

继续我们的源码解析,上一篇文章我们介绍了Activity的启动流程,一个典型的场景就是Activity a 启动了一个Activity b,他们的生命周期回调方法是: onPause(a) –> onCreate(b) –> onStart(b) –> onResume(b) ...

2016-04-24 16:29:25

阅读数 15010

评论数 4

Android源码解析之(十四)-->Activity启动流程

好吧,终于要开始讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等,首先介绍一下Activity,这里引用一下Android guide中对A...

2016-04-23 19:17:31

阅读数 38564

评论数 14

Android源码解析之(十三)-->apk安装流程

上一篇文章中给大家分析了一下android系统启动之后调用PackageManagerService服务并解析系统特定目录,解析apk文件并安装的过程,这个安装过期实际上是没有图形界面的,底层调用的是我们平时比较熟悉的adb命令,那么我们平时安装apk文件的时候大部分是都过图形界面安装的,那么这种...

2016-04-22 19:23:43

阅读数 10791

评论数 4

Android源码解析之(十二)-->系统启动并解析Manifest的流程

最近有同学问我关于Manifest何时被系统解析的问题,正好也分析到这一块了,索性这一章就讲解一下android系统何时解析Manifest吧,这里的Manifest指的是android安装文件apk中的androidManifest.xml文件是何时被解析的。 大家应该都知道,Android系...

2016-04-21 10:11:17

阅读数 8788

评论数 6

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