Android应用程序运行机制
2017-06-15 16:20
218 查看
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内核层是 软件层与硬件层之间的桥梁,开发者不必关心。
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内核层是 软件层与硬件层之间的桥梁,开发者不必关心。
相关文章推荐
- 理解Android Web Apps的运行机制,实现简单的包含Web View的应用程序
- Android应用程序运行机制解析
- 解析Android应用程序运行机制
- Android应用程序运行机制解析
- Android应用程序组件Content Provider的共享数据更新通知机制分析
- Android应用程序框架层和系统运行库层日志系统源代码分析
- 官方文档:Android应用程序运行的性能设计
- (转)【Android游戏开发十九】(必看篇)SurfaceView运行机制详解—剖析Back与Home按键及切入后台等异常处理!
- android应用程序键盘事件机制
- Android app运行时找不到activity的情况之一:应用程序包名不统一
- 10种可提升Android应用程序运行效果的技巧
- Android源码——应用程序的消息处理机制
- android应用程序运行流程
- Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过程分析
- Android中获取正在运行的应用程序-----ActivityManager.RunningAppProcessInfo类详解(二)
- Android 系列 3.10使用本地运行时应用程序日志来分析字段错误或情境
- 如何判断一个android应用程序第一次运行?
- Android 系列 4.6在显示其他应用程序的同时运行后台服务
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序键盘(Keyboard)消息处理机制分析