第二章Android系统结构.pptxVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章Android系统结构

第二章 Android 系统构架 Android系统结构图 1.应用层 Java语言编写的运行在虚拟机上的程序。 Email、SMS、日历、地图等等。 2.应用框架层 Google发布的核心应用所使用的API框架,开发人员可以使用这些框架来开发自己的应用程序。 丰富和可以扩展的View 内容提供器(Content Providers) 资源管理器(Resource Manager) 通知管理器(Notification Manager) 活动管理器(Activity Manager) 窗口管理器(Window Manager ) 3.系统运行库 Bionic系统C库:C语言标准库,通过Linux来调用。 MediaFramework:Android系统多媒体库,基于Packetvideo Opencore,支持常见格式的多媒体文件的操作。 SGL:2D图形引擎库。 SSL:安全套接字层,为通信提供支持。 SQLite:关系数据库。 Webkit:Web浏览器引擎。 3.系统运行库(continue) 每个java程序都运行在Dalvik虚拟机之上。 每个Android应用程序都有自己的进程,Dalvik虚拟机只执行.dex的可执行文件。 每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例。 3.系统运行库(continue) Dalvik和JVM JVM运行的是Java字节码,Dalvik运行的是专有的文件格式.dex(Dalvik Executable)。 Java SE将Java程序编译成.class,然后打包为jar,之后JVM从jar中读取字节码;Android应用程序使用Java编程,在编译成.class文件后,通过dx工具将.class文件转换为.dex文件,之后Dalvik从中读取指令和数据。 3.系统运行库(continue) Dalvik特征(1) 专有的dex文件格式。 对所有的.class文件整合,除去冗余信息,减小文件尺寸和IO操作,提高查找速度。 增加新操作码支持 文件结构简洁,使用对齐等长的指令 尽量扩大只读结构的大小,提高跨进程的数据共享 3.系统运行库(continue) Dalvik的特征(2) Dex文件的优化 调整所有字段的字节序(little_endian) 对齐结构中的每一个域 验证dex文件中所有的类 对一些特定的类和方法里的操作进行优化 3.系统运行库(continue) Dalvik的特征(3) 基于寄存器。相对于基于堆栈实现的虚拟机,代码执行效率高。(但在通用性上存在问题) 一个应用,一个虚拟机实例,一个进程。 每一个Android应用程序都运行在一个Dalvik虚拟机实例中,每一个虚拟机实例都是一个独立的进程空间。虚拟机的线程机制、内存管理、同步和互斥操作等都依赖地城操作系统。所有Android应用线程对应一个Linux线程,因此可以更多的依赖操作系统提供的机制。不同的应用在不同的进程空间,对于不同来源的应用,都使用不用的linux用户在运行,增加安全性和独立性。 4.Linux内核层 Android的核心层系统服务是基于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等,都是依赖于该内核。 作为硬件和软件栈的抽象层。 4.Linux内核层 提供移动设备相关的驱动 Display Driver Keyboard Driver Flash Memory Driver Camera Driver Audio Driver Bluetooth Driver Power Management Binder IPC(虚拟设备文件,提供IPC支持) 基本空间划分 从操作系统的角度,Android的就是一个Linux程序的集合,包括了进程空间(用户空间)、内核空间。由于Android的应用又是在Dalvik中执行,如果更深入涉及到JNI Native部分。那么用户空间划分为Dalvik和C++空间。 基本空间划分 OMS介绍 OMS (Open Mobile System),即面向移动互联网的开放型移动智能终端软件平台。 包括Linux2.6内核的下层操作系统,上层应用层、中间件、Java虚拟机、硬件参考设计以及基于Webkit的各类应用。

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档