Android应用程序运行机制

来源:互联网 发布:java 磁盘io 编辑:程序博客网 时间:2024/05/20 08:43

1、应用程序的系统架构

      Android平台由  应用程序、应用程序框架、Android运行时、系统库以及底层Linux内核构成,

1.1  应用程序框架

       Android应用程序框架是开发 Android应用的基础,开发者在开发时大部分时间在调用这一层。Android应用程序框架包含 活动管理器(activity manager)、窗口管理器(window manager)、内容提供者(content providers)、视图系统(view system)、包管理器(package manager)、电话管理器(telephony manager)、位置管理器(location manager)、资源管理器(resource manager)以及通知管理器(notification manager)等;

1.2 Android runtime

   Android运行时包括 核心库(Core libraries)以及 Dalvik Virtual Machine;

   ·核心库主要包括两部分,一部分来自于JavaSE中的核心Java部分,如集合框架、多线程等,另一部分由Android核心库如android.os  以及 android.media等组成。

   ·Dalvik 虚拟机是一种基于寄存器的Java虚拟机,主要依靠转换工具dx将Java字节码转换为dex格式,基于寄存器的Java虚拟机的优点是所需资源相对较少,同时使用硬件实现虚拟机也比较容易。

 每个Android应用程序都有一个自己特有的进程,每个应用程序都是使用一个自己特有的Dalvik虚拟机。

1.3 系统库

     Android的系统函数库(Libraries)是应用程序框架的支撑

    ·surface manager 管理对显示子系统的访问,并且负责将不同应用程序2D以及3D绘制的结果进行显示合成

    ·Media Framework 可以方便的播放以及录制多种常见格式的影音

    ·SQLite 是内嵌到Android系统的一套轻量级关系数据库引擎

    ·OpenGL ES:实现3D绘图函数库

    ·FreeType  负责点阵字体以及向量字体的绘图显示

    ·WebKit 方便开发人员HTTP相关功能的开发

    ·SGL : 2D绘图引擎

    ·SSL     位于TCP/IP 与各种应用层协议之间,为数据通信提供支持

    ·Libc   提供了一套针对移动设备优化后的C标准库

1.4 底层Linux内核

    Android 开放平台采用了 Linux内核,包括 显示驱动、摄像头驱动、Flash内存驱动、Binder(IPC)驱动、键盘驱动、WIFI驱动、视频驱动及电源驱动等。

    Linux内核层是 软件层与硬件层之间的桥梁,开发者不必关心。