2022年ANDROID核心模块及相关技术[参 .pdf
-
资源ID:33384834
资源大小:283.91KB
全文页数:3页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年ANDROID核心模块及相关技术[参 .pdf
原创 Android核心模块及相关技术(hanchao3cAndroid 开发者论坛原创,转载请注明)Android 作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS) ,中间件(MiddleWare )和应用程序(Application ) 。根据 Android 的软件框图,其软件层次结构自下而上分为以下几个层次:第一、操作系统层(OS)第二、各种库(Libraries )和 Android运行环境( RunTime )第三、应用程序框架(ApplicationFramework )第四、应用程序(Application )以下分别介绍Andoid 各个层次的软件的重点及其相关技术: 操作系统层( OS )Android 使用 Linux2.6 作为操作系统,Linux2.6是一种标准的技术,Linux 也是一个开放的操作系统。Android 对操作系统的使用包括核心和驱动程序两部分,Android 的 Linux 核心为标准的Linux2.6内核,Android 更多的是需要一些与移动设备相关的驱动程序。主要的驱动如下所示:显示驱动( Display Driver ) :常用基于Linux 的帧缓冲( Frame Buffer )驱动。Flash 内存驱动( Flash Memory Driver )照相机驱动( CameraDriver ) :常用基于Linux 的 v4l( Video for )驱动。音频驱动( Audio Driver ) :常用基于ALSA (AdvancedLinux Sound Architecture ,高级Linux 声音体系)驱动。WiFi 驱动( Camera Driver ) :基于 IEEE 802.11 标准的驱动程序键盘驱动( KeyBoardDriver )蓝牙驱动( BluetoothDriver )Binder IPC 驱动: Andoid 一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能。Power Management (能源管理) 各种库( Libraries)和 Android运行环境( RunTime)本层次对应一般嵌入式系统,相当于中间件层次。Android 的本层次分成两个部分一个是各种库,另一个是Android运行环境。本层的内容大多是使用C+ 实现的。在其中,各种库包括: C 库 :C 语言的标准库,这也是系统中一个最为底层的库,C 库是通过Linux 的系统调用来实现。 多媒体框架(MediaFrameword) :这部分内容是Android 多媒体的核心部分,基于PacketVideo (即 PV)的 OpenCORE ,从功能上本库一共分为两大部分,一个部分是音频、视频的回放(PlayBack ) ,另一部分是则是音视频的纪录(Recorder ) 。 SGL :2D 图像引擎。 SSL :即 Secure Socket Layer 位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。 OpenGL ES 1.0 :本部分提供了对3D 的支持。 界面管理工具(SurfaceManagement ) :本部分提供了对管理显示子系统等功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - SQLite :一个通用的嵌入式数据库 WebKit :网络浏览器的核心 FreeType :位图和矢量字体的功能。Android的各种库一般是以系统中间件的形式提供的,它们均有的一个显著特点就是与移动设备的平台的应用密切相关。Android运行环境主要指的虚拟机技术 Dalvik。Dalvik 虚拟机和一般JAVA 虚拟机(Java VM )不同,它执行的不是JAVA 标准的字节码(bytecode)而是 Dalvik 可执行格式( .dex )中执行文件。在执行的过程中,每一个应用程序即一个进程(Linux 的一个Process ) 。二者最大的区别在于Java VM 是以基于栈的虚拟机(Stack-based ) , 而 Dalvik是基于寄存器的虚拟机(Register-based) 。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。 应用程序框架(ApplicationFramework)Android 的应用程序框架为应用程序层的开发者提供APIs ,它实际上是一个应用程序的框架。由于上层的应用程序是以JAVA 构建的,因此本层次提供的首先包含了UI 程序中所需要的各种控件:例如: Views (视图组件 )包括lists( 列表 ), grids( 栅格 ), text boxes( 文本框 ), buttons( 按钮 )等。甚至一个嵌入式的Web 浏览器。一个 Andoid 的应用程序可以利用应用程序框架中的以下几个部分:Activity(活动)BroadcastIntent Receiver(广播意图接收者)Service(服务)ContentProvider(内容提供者) 应用程序( Application)Android的应用程序主要是用户界面(User Interface )方面的,通常以JAVA 程序编写,其中还可以包含各种资源文件(放置在res 目录中) JAVA 程序及相关资源经过编译后,将生成一个 APK 包。Android 本身提供了主屏幕 (Home ) ,联系人(Contact ) , 电话(Phone ) ,浏览器( Browers )等众多的核心应用。同时应用程序的开发者还可以使用应用程序框架层的 API 实现自己的程序。这也是Android 开源的巨大潜力的体现。附加: google 提供的 Andoid 体系结构图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -