Android开发教程之Android
的有关信息介绍如下:蓝鸥上海 之Android Framework, Android源码数量极其庞大,以Android 2.2为例,除去Linux代码,代码数量大于4GB。若想理解和掌握这么庞大的Android系统,需要耗费大量的时间,付出极大的努力。并且,到现在为止,也没有相关资料对Android Frame作系统完整的讲解说明。那么,分析Android Framework用什么方法好呢 ? 下面来看看蓝鸥上海分享的 android studio开发教程之Android Framework: 一、Linux内核 Android是基于Linux内核的系统平台。启动时,首先通过bootloader(系统加载器),加载Linux内核。在Linux加载启动时,与普通的Linux启动过程相同,先初始化内核,然后调用init进程。 二 、Context Manager Context Manager是一个管理Android系统服务的重要进程。系统服务是组成Android Framework的重要组件,提供从相机、音频、视频处理到各种应用程序制作所需要的重要的API。Context Manager提供运行于Android内的各种系统服务信息。应用程序或Framework内部模块在调用系统服务时,需要先向服务管理器申请,而后通过Binder IPC(Interprocesscommunication)调用系统服务。在系统启动时,Android所有系统服务都要把各自的handle信息注册到Context Manager,此时,Binder IPC用来进行进程问的通信。 三 、mlt Android init进程对各种设备进行初始化,运行Android Framework所需用的各种Daemon、Context Manager、Media Server、Zygote等。以下是init进程执行的Daemon进程。 1、USB Daemon(usbd):管理USB连接。 2、Android Debug Bridge Daemon(adbd):Android Debug Bridge连接管理。 3、Debugger Daemon(debuggerd):启动Debugger系统。 4、Radio Interface Layer Daemon(rild):管理无线通信连接。 四、Media Server Media Server用于运行基于C/C++的本地系统服务,如Audio Flinger(负责音频输出)、Camera等。 五 、System Server System Server是Android系统的‘个核心进程,它是由Zygote进程创建的,在Android启动过程中位于Zygote之后。在System Server中可以看到它建立的Android中的大部分服务,如Activity Manager Service(管理应用程序的生命周期)、Location Manager Service(提供终端的地理位置信息)等。 六 、Zygote Zygote进程用于缩短Android应用栩芋加载的时间,每当执行Java应用程序时,Zygote就会派生出‘个子进程来执行应用程序,该子进程就是用来执行Java应用程序的虚拟机。 以上就是对Android启动过程以及Framework初始化的简单介绍。当然这仅仅是Android启动过程的一部分,当所有Java系统服务加载完毕后,Activity Manager Service会运行HOME应用,启动过程继续进行。如果读者感兴趣,请参照 。( 直接点击观看 ) 上海市松江区泗泾镇九干路168号丽德创业园附1楼蓝鸥科技 电话:021-37629222 QQ:2161519036 手机:15800649059 http://sh.lanou3g.com/