Linux核心[编辑]
Android操作系统的核心属于Linux核心的一个分支,具有典型的Linux调度和功能,[36]除此之外,Google为了能让Linux在移动设备上良好的运行,对其进行了修改和扩充。Android去除了Linux中的本地X Window System,也不支持标准的GNU库,这使得Linux平台上的应用程序移植到Android平台上变得困难[37]。2008年,Patrick Brady于Google I/O演讲“Anatomy & Physiology of an Android”,并提出的Android HAL架构图。HAL以*.so档的形式存在,可以把Android framework与Linux kernel隔开,这种中介层的方式使得Android能在移动设备上获得更高的运行效率。这种独特的系统结构被Linux内核开发者Greg Kroah-Hartman和其他核心维护者称赞。Google还在Android的核心中加入了自己开发制作的一个名为“wakelocks”的移动设备电源管理功能,该功能用于管理移动设备的电池性能,但是该功能并没有被加入到Linux核心的主线开放和维护中,因为Linux核心维护者认为Google没有向他们展示这个功能的意图和代码。
2010年2月3日,由于Google在Android核心开发方面和Linux社区方面开发的不同步,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”(“staging tree”)上除去。[38]2010年4月,Google宣布将派遣2名开发人员加入Linux核心社区,以便重返Linux核心。2010年9月,Linux核心开发者Rafael J. Wysocki添加了一个修复程序,使得Android的“wakelocks”可以轻松地与主线Linux核心合并。2011年,Linus Torvalds说:“Android的核心和Linux的核心将最终回归到一起,但可能不会是4-5年。”在Linux 3.3中大部分代码的集成完成。[39]
特点[编辑]
当前的Android操作系统具有以下几个功能:
显示布局Android操作系统支持更大的分辨率,VGA,2D显示,3D显示都给予OpenGL ES 3.0标准规格(4.3版本开始支持OpenGL ES 3.0),并且支持传统的智能手机。数据存储Android操作系统内置SQLite小型关联式资料库管理系统来负责存储数据。网络Android操作系统支持所有的网络制式,包括GSM/EDGE、IDEN、CDMA、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX。信息作为原设计给智能手机使用的操作系统,Android操作系统原生支持短信和邮件,并且支持所有的云信息和服务器信息。语言Android操作系统支持多语言。浏览器Android操作系统中内置的网页浏览器基于WebKit核心,并且采用了Chrome V8引擎。在Android 4.0内置的浏览器测试中,HTML5和Acid3故障处理中均获得了满分,并且于2.2版及之后能原生支持Flash,4.0版本后去除对Flash的支持。支持Java虽然Android操作系统中的应用程序大部分都是由Java编写的,但是Android却是以转换为Dalvik executables的文件在Dalvik虚拟机上运行的。由于Android中并不自带Java虚拟机,因此无法直接运行Java程序。不过Android平台上提供了多个Java虚拟机供用户下载使用,安装了Java虚拟机的Android系统可以运行Java_ME的程序。媒体支持Android操作系统本身支持以下格式的音频/视频/图片媒体:WebM、H.263, H.264(in 3GP or MP4 container)、MPEG-4 SP、AMR, AMR-WB(in 3GP container)、AAC, HE-AAC(in MP4 or 3GP container)、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用户需要播放更多格式的媒体,可以安装其他第三方应用程序。流媒体支持Android操作系统支持RTP/RTSP(3GPP PSS, ISMA)的流媒体以及(HTML5 <video>)的流媒体,同时还支持Adobe的Flash,在安装了RealPlayer之后,还支持苹果公司的流媒体。硬件支持Android操作系统支持识别并且使用视频/照片摄像头,多点电容/电阻触摸屏,GPS,加速计,陀螺仪,气压计,磁强计,键盘,鼠标,USB Disk,专用的游戏控制器,体感控制器,游戏手柄,蓝牙设备,无线设备,感应和压力传感器,温度计,加速2D位位块传输(硬件方向,缩放,像素格式转换)和3D图形加速。多点触控Android支持本地的多点触摸,在最初的HTC Hero智能手机上即有这个功能。该功能是内核级别(为了避免对苹果公司的触摸屏技术造成侵权)。蓝牙Android支持A2DP,AVRCP,发送文件(OPP),访问电话簿(PBAP),语音拨号和发送智能手机之间的联系。同时支持键盘,鼠标和操纵杆(HID)。多任务处理Android操作系统支持本地的多任务处理。语音功能除了支持普通的电话通话之外,Android操作系统从最初的版本开始就支持使用语音操作来使用Google进行网页搜索等功能。而从Android OS v2.2开始,语音功能还可以用来输入文字、语音导航等功能。无线共享功能Android操作系统支持用户使用本机充当“无线路由器”,并且将本机的网络共享给其他智能手机,其他机器只需要通过WiFi查找到共享的无线热点,就可以上网。而在Android OS v2.2版本之前的操作系统则需要通过第三方应用或者其他定制版系统来实现这个功能。截图功能从Android OS v4.0版本开始,Android操作系统便支持截图功能,该功能允许用户直接抓取智能手机屏幕上的任何画面,用户还可以通过编辑功能对截图进行处理,还可以通过蓝牙/E-mail/微博/共享等方式发送给其他用户或者上传到网络上,也可以拷贝到计算机中。