Android系统

Android的系统架构与其操作系统一样,采用分层架构。

Android分为四层,从上层到下层分别是应用层,应用框架层,系统运行层和linux核心层。

1.应用程序Android将与同一系列的核心应用程序包一起发布,包括电子邮件客户端,短信短信程序,日历,地图,浏览器,联系人管理程序等。

所有应用程序都是用Java语言编写的。

2.应用程序框架开发人员还可以完全访问核心应用程序使用的API框架。

应用程序的架构设计简化了组件重用;任何应用程序都可以发布其功能块,任何其他应用程序都可以使用其已发布的功能块(尽管遵循框架的安全限制)。

同样,应用程序重用机制也允许用户轻松替换程序组件。

隐藏在每个应用程序后面的是一组服务和系统,包括; *丰富且可扩展的视图(视图),可用于构建应用程序,包括列表,网格,文本框,按钮,甚至可嵌入的Web浏览器。

*内容提供商允许应用程序访问来自其他应用程序(例如联系人数据库)的数据,或共享他们自己的数据*资源管理器提供对非代码资源的访问,例如本地字符字符串,图形和布局文件。

*通知管理器允许应用程序在状态栏中显示自定义提示。

* Activity Manager用于管理应用程序生命周期并提供通用的导航回退功能。

有关更多详细信息以及如何从头开始编写应用程序,请参阅如何编写Android应用程序。

3.系统运行时1)库Android包含一些可供Android系统中不同组件使用的C / C ++库。

他们通过Android应用程序框架为开发人员服务以下是一些核心库:* System C库 - 继承自BSD的标准C系统库(libc),专为基于嵌入式Linux的设备而定制。

*媒体库 - 基于PacketVideo OpenCORE;该库支持各种常用的音频和视频格式,用于播放和录制,以及支持静止图像文件。

编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。

* Surface Manager - 管理显示子系统,为多个应用程序提供2D和3D层的无缝集成。

* LibWebCore - 支持Android浏览器和可嵌入Web视图的新Web浏览器引擎。

* SGL - 基于OpenGL ES 1.0 API的底层2D图形引擎* 3D库;该库可以使用硬件3D加速(如果可用)或使用高度优化的3D软加速。

* FreeType - 位图和矢量字体显示。

* SQLite - 一种可用于所有应用程序的轻量级关系数据库引擎。

2)Android运行时库Android包含一个核心库,它提供了JAVA编程语言核心库的大部分功能。

每个Android应用程序都在自己的进程中运行,并具有单独的Dalvik虚拟机实例。

Dalvik被设计为可以同时高效且高效地运行多个虚拟系统的设备。

Dalvik虚拟机执行(.dex)Dalvik可执行文件,该文件可针对小内存使用进行优化。

同时,虚拟机是基于寄存器的。

所有类都由JAVA编译器编译,然后由虚拟机通过“dx”转换为.dex格式。

SDK中的工具。

Dalvik虚拟机依赖于Linux内核的某些功能,例如线程机制和底层内存管理机制。

4. Linux内核Android的核心系统服务依赖于Linux 2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动程序模型。

Linux内核还充当硬件和软件堆栈之间的抽象层。

2007.11.5 Android平台发布2008.9.22 T-Mobile G1上市2009年第一季度G1销量100万2009.3 MWC华为发布Android手机Moto,三星,LG计划于2009年下半年推出Android手机获取Orange,Vodafone,O2,Telefonica支持2009年进入上网本1开放谷歌与开放手机联盟合作开发Android,这是一个由30多种技术和无线应用组成的联盟,包括中国移动,摩托罗拉,高通,HTC和T-Mobile。

Android是一个真正开放的移动设备平台。

通过与运营商,设备制造商,开发商和其他相关方的深入合作,建立标准化,开放的手机软件平台,形成移动行业的开放生态系统。

应用程序之间的多功能性和互连性将得到最大程度的保持。

2应用程序平等所有Android应用程序都完全相同。

所有应用程序都在核心引擎上运行,核心引擎实际上是一个虚拟机,为应用程序和硬件资源之间的通信提供一组API。

留下这个核心引擎,Android中的所有其他东西都是“应用程序”。

3无边界应用Android打破了应用程序之间的界限,例如开发人员可以将Web上的数据与本地联系人,日历,位置信息相结合,为用户创建新的用户体验。

4快速简便的应用程序开发Android平台为开发人员提供了大量有用的库和工具,开发人员可以快速创建自己的应用程序。

例如,在其他移动平台上开发基于位置的应用程序非常复杂,Android集成了Google Maps,开发人员可以使用几行代码实现地图应用程序。