
Android源码分析
文章平均质量分 93
阳光玻璃杯
认真,你或许不会输!
展开
-
一步步追踪Dialog的创建流程(一)
想搞明白Dialog到底是怎么创建的,打开Dialog.java,看看里面都做了什么?一.Dialog的构造函数从构造函数出发,所有的构造函数都会调用下面这个构造函数: public Dialog(Context context, int theme) { this(context, theme, true); } Dialog(Context c原创 2016-06-20 23:18:44 · 3089 阅读 · 1 评论 -
TimePickerDialog样式配置与TimePicker模式选择
习惯性的,把要说的内容先总结一下:TimePicker有两种模式:spinner 和clock,可通过如下方式配置: <TimePicker android:timePickerMode = "spinner" android:layout_width="match_parent" android:layout_height="match原创 2016-06-01 20:57:28 · 15763 阅读 · 0 评论 -
Android6.0系统启动流程分析一:init进程
到了Android6.0,Init进程使用c++来写了,不过没有关系,它和c写的init没有太大的区别。 Init进程的入口代码是:system\core\init\init.cpp main函数:int main(int argc, char** argv) { if (!strcmp(basename(argv[0]), "ueventd")) { return u原创 2016-11-18 11:23:48 · 4222 阅读 · 3 评论 -
Android AsyncTask使用步骤与源码分析
AsyncTask的一个典型的应用场景是:后台下载文件,并实时跟新下载进度。它既能使得耗时的事情在后台线程中执行,又能和主线程通信,告诉主线程更新UI。同时,AsyncTask内部使用了线程池来执行后台任务,因此它能处理多任务请求。那么它的内部是怎么实现的呢?原创 2016-11-15 19:20:22 · 835 阅读 · 0 评论 -
Android6.0系统启动流程分析二:zygote进程
上一篇Android6.0系统启动流程分析一:init进程博客我们分析了init进程,主要分析了init.rc的解析过程和command的执行流程。我们说Init.rc中配置的service都是在init.rc中的action中使用start命令启动的,start命令对应的处理函数是do_start。我们也分析了这个函数。那么这一节,我们分析zygote进程,zygote进程在init.rc中也被配置原创 2016-11-19 19:09:41 · 2643 阅读 · 0 评论 -
Android6.0系统启动流程分析三:SystemServer进程
在上一篇博客 Android6.0系统启动流程分析二:zygote进程一文中,我们队Zygote进程的有了一定的了解。我们知道Zygote进程会启动SystemServer进程,但我们并没有在上篇文章中分析SystemServer进程的相关内容。这篇博客,我们将目标汇聚在SystemServer进程上,看看这个进程都做了什么事情。 SystemServer启动流程参考如下时序图: 下面将分阶原创 2016-11-20 15:44:46 · 1622 阅读 · 0 评论