Android文档(一)——什么是Android?

Android 是一个为移动设备设计的软件栈,包括操作系统,中间件和关键应用。 Android SDK 提供了使用 Java Andorid 平台上开发应用所需的工具和 API

特性

应用框架 提供了组件的复用和置换

Dalvik 虚拟机 针对移动设备进行了优化

内置浏览器 基于开源的 WebKit webkit.org )引擎

优化图形支持 包括自定义的 2D 图形库; 3D 图形基于 OpenGL ES1.0 标准

SQLite 用于结构话的数据存储

多媒体支持 :支持常用的音频视频和图像格式( MPEG4 H264 MP3 AAC AMR JPG PNG GIF

GSM 技术 :依赖于具体硬件实现

蓝牙, EDGE 3G ,WiFi: 依赖于具体硬件

摄像, GPS ,加速: 依赖于硬件

丰富的开发环境 :包括设备模拟器,调试工具,内存和性能分析,以及 Eclipse IDE 插件

Android 架构

下图显示了 Android OS 的主要组件。下面每段对各个模块进行了详细描述

 

 

应用

Android 封装了一组核心应用,包括 Email 客户端, SMS 应用,日历,地图,浏览器,联系人和其他应用。所有的应用都是有 Java 编写。

应用框架

开发者能够访问所有核心应用所使用的框架 API 。应用架构被设计成简洁的组建复用;任何应用发布本身的兼容性,任何其他的应用都可一利用这些兼容性(遵循框架的安全原则)。这种机制使得组建可以被其它用户置换。

应用之下是一系列服务和系统,包括:

1. 丰富的可扩展的视图( View 集合可以被用来构建应用,包括 lists, grids, text boxes,buttons, 以及嵌入式浏览器

2. 内容提供者 (Content Providers) 能够是应用访问来自其他应用的数据,例如联系人( Contacts , 或者与其他应用共享数据

3. 资源管理器( Resource Manager) ,支持访问非代码资源,例如本地字符,图像,布局文件

4. 消息管理器( Notification Manager 使得应用能够在状态栏中显示自定义的警告

5. 活动管理器( Activity Manager) 管理应用的生命周期,提供通用的导航返回栈。

 

Android 包括了一组被各个组件使用 C/C++ 库。这些兼容性通过 Android 应用框架暴露给开发者。下面列出一些核心库:

1. 系统 C 库( System C library - 一个基于 BSD 实现的标准 C 系统库( libc ),支持嵌入式 linux 的所有设备。

2. 多媒体库( Media Libraries - 基于 PacketVideo OpenCORE ;这个库支持播放和录制多种流行视频和音频格式,包括静态图像格式。

3. 表面管理器( Surface Manager - 管理访问显示子系统与多种应用的 2D 3D 图形层无缝连接。

3.LibWebCore- 一个现代的 web 浏览器引擎,支持 Android 浏览器和嵌入式 Web 视图。

4.SGL- 底层的 2D 图形引擎。

5.3DLibraries - 基于 OpenGL ES1.0 实现的 API ;该库使用 3D 硬件加速(如果硬件支持)或这高度优化的软件渲染。

6.FreeType - 位图和向量字体渲染。

7.SQLite - 一个强大的轻量级关系数据库引擎,可以被所有应用使用

 

Android 运行时环境

Anroid 包括一系列的核心库,这些库提供了绝大多数 Java 核心库所需的功能。

每个 Android 应用是一个独立运行的进程,在 Dalvik 虚拟机中有独立的例程。 Dalvik 被实现用于在一个设备上有效的运行多个虚拟机。 Dalvik 虚拟机的可执行文件 Dalvik Executeable(.dex) 被优化的占用最小的内存空间。虚拟机以注册为基础, Java 类编译的字节码被 dx 工具优化为 .dex 文件。

Dalvik VM 底层依赖于 Linux 内核, linux 内核为其提供线程和低级内存管理。

 

Linux 内核

Android 基于 Linux2.6 内核所提供的服务,包括安全,内存管理,进程管理,网络堆栈,以及驱动模型。内核同时扮演了一个介于硬件和其余软件栈之间的一个抽象层。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值