《智能手机相关研究.ppt》由会员分享,可在线阅读,更多相关《智能手机相关研究.ppt(17页珍藏版)》请在三一办公上搜索。
1、智能手机相关研究(三),思普企业集团技术处王宏伟 李应刚,内容回顾,阿里云手机操作系统阿里云和android的关系,关键技术,云计算自主虚拟机CAF开放平台云应用CloudApp,关键技术,自主虚拟机 阿里云OS搭载了阿里云公司自主设计、架构、研发的系统核心虚拟机,增强了云端服务的能力,并提供与Dalvik虚拟机兼容的运行环境,阿里云和android的关系,1.阿里云OS不是android的二次开发2.阿里云OS是一个兼容Android系统,阿里云OS不是Android二次开发,1 Android最底层是Linux操作系统,在这个操作系统上安装了一个叫Davilk的Java虚拟机 2阿里云用自
2、主研发的JAVA虚拟机代替了Google研发的Davilk Java虚拟机。,阿里云OS是一个兼容Android系统,阿里云OS是一个兼容Android系统,因为Android的核心-Google的Davilk虚拟机被替换成了阿里云自己的虚拟机,同时 这个虚拟机能够运行为Davilk编写的程序。,经过以上的分析,阿里云OS不是在自己开发的操作系统上运行了一个Android操作系统的虚拟机来兼容Android应用,而是将Google的 java虚拟机替换成了自己开发的java虚拟机。因此阿里云OS不是基于Android系统的二次开发,而是基于Android开放标准的深度定制。,Andriod系统
3、分析,Andriod系统分析,Linux Kernel Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。,Andriod系统分析,Andriod RuntimeAndroid应用程序时采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。核心库:核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、android.media等等。,An
4、driod系统分析,Andriod Runtime Dalvik虚拟机 Android程序不同于J2me程序,每个Android应用程序都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化 以及支持多个虚拟机的特点。,Andriod系统分析,Libraries 系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。Android包含一个C/C+库的集合,供Android系统的各个组件
5、使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。,Andriod系统分析,Libraries常用的核心库:Surface Manager:执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。Media Framework:多媒体库,基于PacketVideo OpenCore;支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM。SQLite:小型的关系型数据库引擎 OpenGL|ES:根据OpenGL ES 1.0API标准实现的3D绘图函数库
6、FreeType:提供点阵字与向量字的描绘与显示 WebKit:一套网页浏览器的软件引擎 SGL:底层的2D图形渲染引擎 SSL:在Andorid上通信过程中实现握手 Libc:从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制,Andriod系统分析,Application Framework 应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。a)Activity Manager(活动管理器)管理各个应用程序生命周期以及通常的导航回退功能b)Window
7、 Manager(窗口管理器)管理所有的窗口程序c)Content Provider(内容提供器)使得不同应用程序之间存取或者分享数据d)View System(视图系统)构建应用程序的基本组件e)Notification Manager(通告管理器)使得应用程序可以在状态栏中显示自定义的提示信息,Andriod系统分析,Application Framework f)Package Manager(包管理器)Android系统内的程序管g)Telephony Manager(电话管理器)管理所有的移动设备功能h)Resource Manager(资源管理器)提供应用程序使用的各种非代码资源,
8、如本地化字符串、图片、布局文件、颜色文件等i)Location Manager(位置管理器)提供位置服务j)XMPP Service(XMPP服务)提供Google Talk服务,Andriod系统分析,Applications Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发!从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆迭(Software Stack),或称为软件迭层架构,迭层主要分成三层:操作系统、中间件、应用程序。从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。,