苹果手机是什么系统-苹果手机是什么系统更换电池后会弹窗( 二 )


中介软件
操作系统与应用程序的沟通桥梁 , 应用分为两层:函数层(Library)和虚拟机(Virtual Machine) 。 Bionic是 Android 改良libc的版本 。 Android 同时包含了Webkit , 所谓的Webkit 就是Apple Safari 浏览器背后的引擎 。 Surface flinger 是就2D或3D的内容显示到屏幕上 。 Android使用工具链(Toolchain)为Google自制的Bionic Libc 。 Android采用OpenCORE作为基础多媒体框架 。 OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX 。 Android 使用skia 为核心图形引擎 , 搭配OpenGL/ES 。 skia与Linux Cairo功能相当 , 但相较于Linux Cairo, skia 功能还只是雏形的 。 2005年Skia公司被Google收购 , 2007年初 , Skia GL源码被公开 , 目前Skia 也是Google Chrome 的图形引擎 。 Android的多媒体数据库采用SQLite数据库系统 。 数据库又分为共用数据库及私用数据库 。 用户可通过ContentResolver类(Column)取得共用数据库 。 Android的中间层多以Java 实现 , 并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine) 。 Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机 , 变量皆存放于暂存器中 , 虚拟机的指令相对减少 。 Dalvik虚拟机可以有多个实例(instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行 , 让系统在运行程序时可达到优化 。 Dalvik 虚拟机并非运行Java字节码(Bytecode) , 而是运行一种称为.dex格式的文件 。
硬件抽像层
Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块 。 HAL 的目的是为了把 Android framework 与 Linux kernel 隔开 , 让 Android 不至过度依赖 Linux kernel , 以达成 kernel independent 的概念 , 也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展 。 HAL stub 是一种代理人(proxy)的概念 , stub 是以 *.so 档的形式存在 。 Stub 向 HAL“提供”操作函数(operations) , 并由 Android runtime 向 HAL 取得 stub 的 operations , 再 callback 这些操作函数 。 HAL 里包含了许多的 stub(代理人) 。 Runtime 只要说明“类型” , 即 module ID , 就可以取得操作函数 。
编程语言
Android 是运行于 Linux kernel之上 , 但并不是GNU/Linux 。 因为在一般GNU/Linux 里支持的功能 , Android 大都没有支持 , 包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了 。 Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等 。 Android 为了达到商业应用 , 必须移除被GNU GPL授权证所约束的部份 , 例如Android将驱动程序移到 userspace , 使得Linux driver 与 Linux kernel彻底分开 。 bionic/libc/kernel/ 并非标准的kernel header files 。 Android 的 kernel header 是利用工具由 Linux kernel header 所产生的 , 这样做是为了保留常数、数据结构与宏 。 目前Android 的 Linux kernel控制包括安全(Security) , 存储器管理(Memory Management) , 程序管理(Process Management) , 网络堆栈(Network Stack) , 驱动程序模型(Driver Model)等 。 下载Android源码之前 , 先要安装其构建工具 Repo来初始化源码 。 Repo 是 Android 用来辅助Git工作的一个工具 。
编辑本段系统版本
很多玩家用户可能会奇怪:“为什么 Android 会用甜点作为它们系统版本的代号?”这个命名方法开始于 Andoird 1.5 发布的时候 。 作为每个版本代表的甜点的尺寸越变越大 , 然后按照26个字母数序:纸杯蛋糕 , 甜甜圈 , 松饼 , 冻酸奶 , 姜饼 , 蜂巢 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。