- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在正式进行Android应用程序的开发工作之前,需要先了解Android生态系统的整体框架结构。Android系统架构Chapter 2
Android系统是一个移动设备的开发平台,其生态系统的架构十分清晰,如图所示,自下而上分为四层,即: (1)Linux内核层;(2)各种库(Libraries)和Android运行时(RunTime);(3)应用程序框架(Application Framework);(4)应用程序(Application)。
2.1.1 Android的Linux内核层——C/C++实现Android系统的Linux内核层,实现了与移动设备相关的驱动程序,主要包含如下所示的驱动系统:Android系统的底层内核基于Linux操作系统。Android系统其实就是Linux系统,只是Android系统充分利用了已有的机制,尽量使用标准化的内容,并且做出必要的扩展。显示驱动(Display Driver):常用基于Linux的帧缓冲(Frame Buffer)驱动;摄像头驱动(Camera Driver):常用基于Linux的V4L2(video for Linux)驱动;闪存驱动(Flash Memory Driver):是基于MTD的Flash驱动程序;Binder IPC驱动:Android中一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能;键盘驱动(KeyBoard Driver):作为输入设备的键盘驱动;WiFi驱动(Camera Driver):基于IEEE 802.11标准的驱动程序;音频驱动(Audio Driver):常用基于ALSA(Advanced Linux Sound Architecture,高级Linux声音体系)驱动;能源管理(Power Management):管理电池电量等信息。
2.1.2 各种库(Libraries)和Android运行时(RunTime)——中间层Android系统中间层次的内容大多是使用C和C++实现的,可以分为两个部分:库和Android运行环境。其中包含如下所示的各种库:界面管理器(Surface Management):提供了对管理显示子系统等功能;媒体框架(MediaFrameword):它是Android多媒体的核心部分,基于PacketVideo(PV)的OpenCORE,从功能上本库一共分为两大部分:一部分是音频、视频的回放(PlayBack),另一部分是音视频的记录(Recorder);SQLite:一个通用的嵌入式数据库;OpenGL ES:提供了对3D图像的支持;FreeType:位图和矢量字体的功能;WebKit:网络浏览器的核心;SGL:2D图像引擎;SSL:即Secure Socket Layer位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持;libc:C语言的标准库,也是系统中一个最为底层的库,C库通过Linux的系统调用来实现。
2.1.2 各种库(Libraries)和Android运行时(RunTime)——中间层在以前的版本中,Android运行环境主要是指Android虚拟机技术:Dalvik。Dalvik虚拟机与Java虚拟机(Java VM)不同,它执行的不是Java标准的字节码(Bytecode),而是Dalvik可执行格式(.dex)的执行文件。在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。在Android系统中,各种库一般以系统中间件的形式提供,它们均有一个显著特点:与移动设备平台的应用密切相关。两者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。
从Android 4.4开始,默认的运行环境是ART,ART的机制与Dalvik不同。在Dalvik机制下,应用程序每次运行的时候,字节码都需要通过即时编译器转换为机器码,这会拖慢应用的运行效率。而在ART环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用,这个过程叫做预编译(Ahead-Of-Time,AOT)。这样的话,应用的启动和执行都会变得更加快速。2.1.2 各种库(Libraries)和Android运行时(RunTime)——中间层
该层是Android应用开发的基础,开发人员大部分情况是在和它打交道。应用程序框架层主要包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器和通知管理器几部分。在Android平台上,开发人员
您可能关注的文档
- 《Access 2010数据库应用案例教程》第2章 数据表.pptx
- 《Access 2010数据库应用案例教程》第3章 查询.pptx
- 《Access 2010数据库应用案例教程》第4章 窗体.pptx
- 《Access 2010数据库应用案例教程》第5章 报表.pptx
- 《Access 2010数据库应用案例教程》第6章 宏.pptx
- Android开发实战(第八章)Intent电话与短信.pptx
- Android开发实战(第三章)UI界面布局.pptx
- Android开发实战(第十二章)网络数据处理.pptx
- Android开发实战(第十四章)象棋游戏.pptx
- Android开发实战(第四章)核心组件介绍.pptx
- 第7章计数原理(考点串讲)高二数学下学期期末考点大串讲(2019选择性).pptx
- 中国共产党的长征从江西到陕北的艰苦岁月.pptx
- 因数和倍数的认识(课件)-五年级下册数学人教版.pptx
- 微考点17雅丹地貌-2022年高考地理总复习微考点精讲优质课件.pptx
- 中心对称图形旋转研讨复习说课教学课件人教版数学九年级上册.pptx
- Module2Unit2Amypaintedapicture.(课件)(一起)英语四年级上册(1(精)14.pptx
- Unit3DiverseCulturesListeningandSpeaking课件-高一英语人教版.pptx
- 551二倍角的正弦余弦正切公式课件-高一上学期数学人教A版.pptx
- 甘肃省武威第十八中学高中生物必修三教学课件4.2种群的数量变动(共23张).ppt
- 全国中考地理复习课件第21讲河流和自然灾害(人教).pptx
文档评论(0)