单击此处添加标题 - 山东大学课程中心0.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?linux核心层: Binder是Android系统进程间通信(IPC)方式之一。 * 系统运行库层: 1)程序库 2)Android 运行库 *   Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:   * 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。   * LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。 * SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。   * SGL - 底层的2D图形引擎   * 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。 * Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。   * FreeType -位图(bitmap)和矢量(vector)字体显示。   * 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。    * 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。 SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。    * SurfaceFinger按英文翻译过来就是Surface投递者。SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构。SufaceFlinger主要功能是:   1) 将Layers (Surfaces) 内容的刷新到屏幕上   2) 维持Layer的Zorder序列,并对Layer最终输出做出裁剪计算。   3) 响应Client要求,创建Layer与客户端的Surface建立连接   4) 接收Client要求,修改Layer属性(输出大小,Alpha等设定) 每个应用程序可能对应着一个或者多个图形界面,而每个界面我们就称之为一个surface?,或者说是window?,在上面的图中我们能看到4?个surface?,一个是home?界面,还有就是红、绿、蓝分别代表的3个surface?,而两个button?实际是home surface?里面的内容。 每个surface?在屏幕上有它的位置,以及大小,每个surface?里面还有要显示的内容,描述各个surface?之间的上下覆盖关系的 Z-order。 /uidid-4012294.html * AudioFlinger是Android音频系统的两大服务之一,AudioFlinger向下访问AudioHardware,实现输出音频数据,控制音频参数。同时,AudioFlinger向上通过IAudioFinger接口提供服务。所以,AudioFlinger在Android的音频系统框架中起着承上启下的作用,地位相当重要。 * 硬件虚拟层是一个编程层,允许计算机操作系统在逻辑层而不是硬件层与硬件设备交互 * Dalvik是Google公司自己设计用于Android平台的Java虚拟机。它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,可以减少整体文件尺寸,提高I/o操作的类查找速度,所以适合内存和处理器速度有限的系统。 Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。 * Dalvik 基于寄存器,而JVM 基于栈。性能有很大的提升。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。 Android所有类都通过JAVA编译器编译,然后通过Android SDK的“dex文件转换工具”转换为“dex”的字节文件,再由DVM载入执行。 * * 开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序

您可能关注的文档

文档评论(0)

yanchuh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档