- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Android系统结构
android平台大的方面的层次可以划分成三个层次,包括一个操作系统,中间件和应用程序,
android的系统框架图如下:
图中的软件层次自上而下分成4个层次
应用程序(Application)
用用程序框架(ApplicationFramework)
各种类库(Libraries)和android运行时(AndroidRuntime)
操作系统(OS)
一.应用程序(Application)
应用层是和用户交互的一个层次,用户可以看得见的一些应用,用户可以操作。这类
应用基本都是通过Java语言编写的独立的能够完成某些功能的应用程序。Android本身提
供了桌面(Home),联系人(Contacts),拨打(Phone),浏览器(Browers)等很多基本
的应用程序。开发人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员
要做的事情就是开应用层的程序提供该广大消费者使用。
二.应用程序框架(ApplicationFramework)
普通开发者可以使用Android基本应用程序使用的系统API,android应用框架中的各个
模块都可以被复用,各种服务也可以被复用,理解了这个机制,开发人员可以更好的更轻松
的开发出优秀的android应用。开发过程中常用到的基本框架组件如下:
ContentProviders(内容提供者),听起来有点抽象,通俗的理解ContentProvider就是提供
ResourceManager顾名思义就是资源管理,android中的资源很多包括,用户界面
(Layoutxml),字体,颜色,UI组件的Id等等都可以称之为资源,这些丰富的资源,都是
通过ResourceManager来统一进行管理。
NotificationManager(消息通知管理),它在不影响用户正常操作和使用设备的时候在状态栏
上提供消息的提示。比来的时候,android自动会将这个消息提示在状态栏上,用
户可以及时的看到。
ActivityManager(活动管理),Activity管理着应用程序的生命周期,并且控制着应用的导航,
扮演控制器的角色。每个Activity类似于Windows应用中的一个wendow。一般的应用都是
通过一个个Activity交互构成的。
WindowManager(窗口管理),管理所有启动的窗口。
LocationManager(位置管理),用来管理地图服务的相关功能。
TelephoneyManager(管理),用来管理有关的的相关功能。
PackageManager(包管理),管理所有的安装在android系统内的应用程序。
三.库(Libraries)和运行环境(RunTime)
这部分内容开始涉及底层,开发普通的应用不会直接对这个层进行操作。这层中包含了
一组类库(Libraries)和运行时(RunTime),
系统C库(libc),一个从BSD集成来的标准C系统函数库(libc)它是专门为基于嵌入式Linux
的设备定制的。
(MediaFramework),基于PackeOpenCore,该库支持多种常用的音频,
格式以及回放和录制,同时支持静态图像文件。编码格式包括:MPEG4、H.264,MP3、AAC、
AMR、JPG、PNG。
SurfaceManager对显示子系统的管理,并且为多个应用提供2D,3D图层的无缝融合。
WebKit,一个的web浏览器引擎,用来支持Andiroid浏览器或者嵌入的web视图。
SGL底层的2D图形引擎。
OPENGL|ES,基于OpenGLES1.0APIs实现,该库可以使用硬件3D加速或者使用高度优化的
3D软加速。
FreeType,位图(bitmap)和适量(vector)字图显示支持。
SQLite,一个对所有应用程序可用,功能强大的轻量级关系型数据库引擎。
CoreLibraries该库提供了Java编程语言库的大多
文档评论(0)