Android的体系结构

结构图如下:

1.应用程序(Applications):是Android推出的一组使用Java语言编写的核心应用程序,例如E-mail客户端、短信程序、日历、地图、通讯录等;

2.应用程序框架(Application Framework):是Android为开发者提供的一个开放平台,位于应用程序的下一层。开发者可以通过它们自由地利用设备硬件、访问位置信息、运行后台服务、设置警告、在状态栏上增加通知等。应用程序框架的设计是为了简化组件的重用,允许用户替换组件。

应用程序框架提供的是一组服务和系统,这些会在程序开发过程中直接使用到,具体如下:

  • 丰富有扩展性的视图系统(Views System):可用于构建应用程序的界面,包括列表、文本框、按钮、甚至嵌入的Web浏览器 ;
  • 内容提供者(Content Providers):允许应用程序访问其他的应用程序的数据(如通讯录),或者共享数据;
  • 资源管理器(Resourse Manager):提供对非代码资源(如本地化字符串、图像和布局文件)的管理;
  • 通知管理器(Notification Manager):允许应用程序在状态栏上显示定制的提示信息;
  • 活动管理器(Activity Manager):管理应用程序的生命周期,提供一个通用的导航回退功能;

3.库(Libraries):Android包括一组C/C++库,用于Android系统中不同的组件。这些功能通过Android的应用程序框架对开发者开放。下面列出一些核心库:

  • C语言系统库(System C library):派生于标准C语言系统库,并根据嵌入式Linux设备进行调优;
  • 多媒体库(Media Libraries):基于OpCore多媒体开源框架(该产品有Geogle联合PackVideo公司推出)。该库支持许多流行的音频、视频格式以及静态文件,包括MPEG-4、H.264、MP3、AAC和AMR、JPG和PNG格式文件的播放和录制;
  • 外观管理器(Surface Manager):管理访问子系统的显示,将2D绘图和3D绘图进行显示上的合成;
  • LibWebCode:是一个现代的Web浏览器,为Android浏览器和嵌入式Web视图提供支持;
  • SGL:底层的2D图形引擎;
  • 3D库(3D Libraries):是基于OpenGL ES API的实现,该库使用了硬件3D加速(如果可用)或高度优化的3D软件光栏;
  • FreeType:用于位图和矢量字体的渲染;
  • SQLite:一个强大的轻量级数据库引擎,可以用于各种应用程序。

4.Android Runtime:Android的一组核心库,提供大部分Java编程语言核心库的功能。Android应用程序是在Dalvik虚拟机的实例下以进程形式运行。Dalvik可以允许一个设备有效地运行多个虚拟机。Dalvik虚拟机执行的文件是Dalvik可执行格式,文件后是.dex,并被优化成最小内存存放。与Java虚拟机基于堆栈的原理不同,Dalvik虚拟机是基于寄存器的,通过转换工具DX将Java字节码文件转换成Dex格式,它依赖于Linux内核的底层功能,例如线程和低级别的内存管理。

5.Linux内核(Linux Kernel):Android依赖于Linux相应版本的核心系统服务,例如安全、内存管理、进程管理、网络堆栈、驱动程序模型。Geogle对Linux内核做了改动,提供了Android平台的设备驱动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值