android系统架构概述

android系统架构概述

ID:6858190

大小:89.65 KB

页数:5页

时间:2018-01-28

android系统架构概述_第1页
android系统架构概述_第2页
android系统架构概述_第3页
android系统架构概述_第4页
android系统架构概述_第5页
资源描述:

《android系统架构概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android的架构图如下,图中按照功能结构及面向人群进行划分,可以看出Android分成三个部分:  应用部分:包含在Android设备上运行的所有应用,它们是Android系统中直接面向用户的部分。  核心部分:Android系统中核心的功能实现,包括应用框架、核心类库等,每个Android应用的开发者,都是在此基础上进行应用开发的。  底层部分:主要指Android寄宿的Linux操作系统及相关驱动。通常来说,只有硬件厂商和从事Android移植的开发者,才会基于此来进行开发。  除了上述划分方式以外,从系统实际的架构模型来

2、看,Android则可以分成以下几个层次:  应用层  框架层  运行时  核心类库  硬件抽象层  Linux内核  本文的后续内容将针对以上各层逐一进行分析。  1.1.1 应用层  对于普通的用户而言,只能通过具体的应用来判断移动平台的优劣。即便一个移动平台具有最华丽的技术,但是如果不能给用户提供最得心应手的应用,顶多也只能赢得无冕之王的名头,而无法抓住用户的心,赢得市场的认可。  Android应用层由运行在Android设备上的所有应用共同构成,它不仅包括通话、短信、联系人等系统应用(随Android系统一起预装在移动设

3、备上),还包括其他后续安装到设备中的第三方应用。  第三方应用都是基于Android提供的SDK(SoftwareDevelopmentKit)进行开发的,并受到SDK接口的约束。而预装在设备中的系统应用,则可以调用整个框架层的接口和模块,其中的很多接口在SDK中是隐藏的,因此,系统应用具有比第三方应用更多的权利。  Android的应用都是基于Java语言来开发的,但在很多应用(尤其是游戏)中,需要进行大规模的运算和图形处理,以及使用开源C/C++类库。通过Java来实现,可能会有执行效率过低和移植成本过高等问题。因此在Andr

4、oid开发中,开发者可以使用C/C++来实现底层模块,并添加JNI(JavaNativeInterface)接口与上层Java实现进行交互,然后利用Android提供的交叉编译工具生成类库并添加到应用中。  为了让应用开发者能够绕过框架层,直接使用Android系统的特定类库,Android还提供了NDK(NativeDevelopmentKit),它由C/C++的一些接口构成,开发者可以通过它更高效地调用特定的系统功能。  但在Android上,开发者通常只能使用C/C++编写功能类库,而不是整个应用。这是因为,诸如界面绘制、进

5、程调度等核心机制是部署在框架层并通过Java来实现的,应用只有按照它们规定的模式去编写特定的Java模块和配置信息,才能够被识别、加载和执行。  小贴士 从Android2.3(API9)开始,新增了android.app.NativeActivity类,它是通过调用预定义的JNI接口来实现的。开发者可以基于NDK,通过C/C++语言来实现具体功能。这就意味着,开发者仅通过C/C++语言就能实现整个应用。这对于游戏开发者而言是一大喜讯,但由于控件在Android中并没有Native的实现,普通的应用开发者通常还是需要通过Java来

6、实现上层界面。  1.1.2 框架层  框架层是Android系统中最核心的部分,它集中体现了Android系统的设计思想。在Android之前,有很多基于Linux内核打造的移动平台。作为超越前辈的成功范例,框架层的设计正是Android脱颖而出的关键所在。  框架层由多个系统服务(SystemService)共同组成,包括组件管理服务、窗口管理服务、地理信息服务、电源管理服务、通话管理服务,等等。所有服务都寄宿在系统核心进程(SystemCoreProcess)中,在运行时,每个服务都占据一个独立的线程,彼此通过进程间的通信机

7、制(Inter-ProcessCommunication,IPC)发送消息和传输数据。  应用层中的应用,时刻都在与这些系统服务打交道。每一次构造窗口、处理用户交互事件、绘制界面、获得当前地理信息、了解设备信息等操作,都是在各个系统服务的支持下实现的。  而对于开发者而言,框架层最直观的体现就是SDK,它通过一系列的Java功能模块,来实现应用所需的功能。SDK的设计决定了上层应用的开发模式、开发效率及能够实现的功能范畴。因此,对于开发者而言,关注SDK的变迁是一件很有必要的事情,SDK每个新版本的诞生,都意味着一些老的接口会被调

8、整或抛弃,另一些新的接口和功能火热出炉。开发者不但要查看和关注那些被修改的接口,来检查应用的兼容性,并采取相应的策略去适应这些变化,更重要的是,开发者还要追踪新提供的接口,寻找改进应用的机会,甚至是寻求开发新应用的可能。  从系统设计的角度来看,A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。