Android源码分析
butterfly1122
这个作者很懒,什么都没留下…
展开
-
源码分析 --- Activity的启动过程
我们平时通过调用startActivity可以启动一个Activity,但是系统内部是如何启动这个Activity的?每个Activity也是一个对象,这个对象是啥时候被创建的(也就是说它的构造方法是什么时候被调用的)?为什么onCreate是Activity的执行入口?所有的这一切都被系统封装好了。 在分析之前,先介绍几个类:Instrumentation类: startActivity转载 2016-07-01 14:06:48 · 356 阅读 · 0 评论 -
源码分析 --- Context
1.1 Context是什么? 1) Context是一个抽象类,其通用实现在ContextImpl类中。 2) Context:是一个访问application环境全局信息的接口,通过它可以访问application的资源和相关的类,其主要功能如下: • 启动Activity • 启动和停止Service • 发送广播消息转载 2016-07-01 17:38:54 · 272 阅读 · 0 评论 -
源码分析 -- 异步消息处理机制
1 概述Android UI是线程不安全的,如果在子线程中直接进行UI操作,程序就有可能会崩溃。解决的方案即创建一个Message对象,然后借助主线程的Handler发送出去,之后在Handler的handleMessage()方法中获得刚才发送的Message对象,然后在这里进行UI操作就不会再出现崩溃了。也就是子线程是通过handler给主线程发送消息,然后由主线程在消息处理函数中处理原创 2016-07-05 14:56:42 · 268 阅读 · 0 评论 -
源码分析 --- 系统进程Zygote启动过程
在Android系统中,所有的应用程序进程以及系统服务进程SystemServer都是由Zygote进程孕育(fork)出来的,这也许就是为什么要把它称为Zygote(受精卵)的原因吧。由于Zygote进程在Android系统中有着如此重要的地位,本文将详细分析它的启动过程。 在前面一篇文章Android应用程序进程启动过程的源代码分析中,我们看到了,当ActivityManag转载 2016-07-05 18:40:11 · 266 阅读 · 0 评论 -
源码分析 -- ActivityThread
1. ActivityThread功能 它管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),并根据AMS的要求负责调度和执行activities、broadcasts和其它操作。 在Android系统中,在默认情况下,一个应用程序内的各个组件(如Activity、BroadcastReceiver、Service)都会在同一个进程(Proces转载 2016-07-04 17:27:52 · 475 阅读 · 0 评论