google android 系统介绍

什么是Android系统?

返回目录 

官方英文文档

 

Android 是由操作系统(linux)、中间件以及核心应用程序组成的软件栈(software stack)。通过 android SDK 提供的 API 以及相应的开发工具, 程序员可以用java 语言开发android平台上的应用程序。

 

特点

  • 应用程序框架(Application framework) enabling reuse and replacement of components
  • Dalvik 虚拟机(Dalvik virtual machine) 针对移动设备进行了相关优化的寄存器型的 java 虚拟机
  • 内置浏览器(Integrated browser) 基于开源的 WebKit 引擎
  • 优化的绘图指令(Optimized graphics) 包括了 2D 及 3D绘图接口,其中 3D 绘图接口是基于OpenGL ES 1.0 的定制版本。 (可通过硬件加速)
  • SQLite 轻型数据库
  • 多媒体支持(Media support) 支持常见的视频、音频及图片格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • 支持GSM制式( GSM Telephony ) (需要手机硬件支持)
  • 支持蓝牙、EDGE、3G以及WIFI(Bluetooth, EDGE, 3G, and WiFi )(需硬件支持)
  • 支持摄像头、GPS、compass、acceleratrometer(Camera, GPS, compass, and accelerometer )(需硬件支持)
  • 丰富的开发工具 包括一个手机模拟器、调试工具、内存及运行性能分析工具以及一个用于 Eclipse IDE(java的编辑器) 的插件

 


 

Android 的结构

下图是android操作系统的结构图,我们会在后面详细地讨论每一个部分。

 

Android System Architecture

 

 

 


 

应用程序(Applications)

Android操作系统内置了一部分应用程序, 包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录以及其他的程序,所有的这些程序都是用java编写的。


应用程序框架(Application Framework)

开发者开发的应用程序可以像核心应用程序那样调用框架的API。应用程序框架使得组件更易于重用。在遵守应用程序框架的安全机制约束的前提下,一个应用程序可以使用其他程序所开发的功能。 同时,框架允许用户替换掉任意的组件。

 

Underlying all applications is a set of services and systems, including:

  •  Views 可以被用来构建一个应用程序,包括列表(lists),表格(grids),文本框(text boxes) ,按钮(buttons)甚至是一个浏览器(embeddable web browser)
  • 应用程序可以通过Content Providers 获取其他程序的数据,例如通讯录;也可以对外提供自己的数据。
  • 应用程序可以通过Resource Manager访问本地化字符串、图形以及布局文件。
  • Notification Manager 允许所有的应用程序在状态栏上显示自定义的信息。
  • Activity Manager 管理着所有应用程序的生命周期。

 


 

应用程序库(Libraries)

Android 提供了一系列的 C/C++ 程序库。通过应用程序框架,开发者可以使用这些库。下表列出了主要的应用程序库:

  • System C library - 基于 BSD 的标准C系统库(standard C system library (libc)), 已针对运行在嵌入式linux系统下的设备做了优化。
  • Media Libraries - 基于 PacketVideo's OpenCORE; 该库支持回放以及录制常见的视频、音频格式以及图片格式,这些格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG
  • Surface Manager - 用于管理图形显示系统,能够将来自不同程序的2D、3D图层整合到一起。
  • LibWebCore - 网页浏览器引擎。Android 浏览器以及可嵌入的浏览器视图(embeddable web view)均使用该引擎。
  • SGL -  2D 图形显示引擎。
  • 3D libraries - 基于OpenGL ES 1.0 的3D显示引擎; 可使用硬件加速。
  • FreeType - 用于位图及矢量字体渲染。
  • SQLite - 一个强大的、轻型的数据库系统。


Android运行库(Android Runtime)

每一个Android 应用程序都有自己的进程,每个进程都对应着一个Dalvik虚拟机进程。当一个Android系统中运行着多个 Dalvik 虚拟机时,我们不用担心其效率问题,Dalvik已对此作了相应的优化。Dalvik 虚拟机是基于寄存器的,所以速度要快一些,其可执行文件格式是(.dex) 格式。通过"dx"工具可以将java可执行程序转换成dex格式。Dalvik虚拟机通过linux内核来管理线程以及底层的内存操作。


Linux 内核(Linux Kernel)

Android 的Linux 内核版本为2.6。通过linux内核,android实现了以下的系统功能,例如系统安全、内存管理,进程管理,网络栈 以及驱动模型,同时,linux内核还扮演着软件栈与硬件之间的抽象层的角色。

 

 

返回目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值