什么是Android?

Android是一个移动设备的软件套件,它包括一个操作系统、中间件和关键应用。Android SDK提供必需的工具和API,并基于java语言开发。

特征

应用程序框架  组件的重用和自定义

Dalvik虚拟机  为移动设备优化

一体化浏览器  基于开源的webkit内核

图形优化 提供一个定制的2D图形库,3D图形基于OpenGL(硬件加速可选)

SQLite 结构化数据存储

多媒体支持 对通用的音频、视频、图像提供支持

GSM技术 (依赖于硬件)

蓝牙,EDGE网络,3G和WiFi (依赖于硬件)

摄像头、GPS、方向和速度传感器(依赖于硬件)

Android结构示意图

android 开发主要是做什么 android开发是干什么的_应用程序

自带应用程序

Android包含一套核心应用程序,如email客户端、SMS程序、日历、地图、浏览器、通讯录以及其它。所有程序都是用java语言编写。

应用程序框架

在Android平台上,开发者可创建华丽而创新的应用。可发挥出硬件能力,利用地理位置信息、后台服务、警告和程序栏通知,以及更多。

开发者与核心应用程序对API享用同样权限。应用程序结构被设计成简化组件重用,应用程序可以开放其功能供其他程序调用(在框架的安全限制内),此机制也允许用户自定义组件。

下列服务和系统享有高优先级:

一系列视图(Views),包括列表、网格、文字框、按钮、甚至是可嵌入的浏览器。

内容提供器(Content Providers),让程序可以连接其他程序或者共享数据。

资源管理器(Resource Manager),提供对非代码的资源的连接,比如局域字符串、图像和布局文件。

通知管理器(Notification Manager),使程序可以展现自定义通知。

活动管理器(Activity Manager),管理程序生命周期并提供通用导航返回栈。

类库

Android包括一系列C/C++库,这些库被用于很多Android系统组件,它们也能够通过框架被程序调用。

系统C语言库 由BSD衍生的标准C语言系统库,为基于Linux的设备所调整。

多媒体库 基于PacketVideo的OpenCORE框架。支持回放、录制等多媒体功能。

外观管理器(Surface Manager) 管理访问显示子系统和从多模块应用中无缝整合2D和3D的图形

LibWebCore 现代浏览器引擎 为浏览器和嵌入式视图提供支持

SGL 高优先级的2D图形引擎

3D类库 OpenGL ES API的一个衍生,支持硬件加速和软件优化加速

FreeType 位图和矢量字体渲染

SQLite 一个轻量的关系型数据库

Android运行时

Android包括Java的一个精简的核心类库,可实现java的多数功能。

每个Android应用程序都有独自的进程和虚拟机,设备可以同时运行多个Dalvik虚拟机,Dalvik虚拟机执行后缀为.dex的文件,这种文件为最小内存占用而优化,此虚拟机是基于寄存器的,运行被dx工具编译为.dex文件的类。

Dalvik依赖于Linux核心,以确保一些高优先级的功能,如线程处理和低级别内存管理。

Linux核心

Android依赖于Linux版本2.6,以提供核心系统服务,如安全、内存管理、进程管理、网络栈和驱动模型。此核心也在硬件和其他程序之间提供一个抽象层。