什么是Android

转载请注明翻译作者:cattong

什么是Android?

  Android是一个移动设备软件栈,它包含一个操作系统,中间件和关键应用程序 .Android SDK提供了在此平台上开发应用程序所必须的工具和API,它使用Java编程语言。

特征

  • 可重用、组件可替换的应用框架
  • 用于移动设备的优化的Dalvik虚拟机
  • 基于开放原代码的webkit引擎的集成浏览器
  • 由一个通用的二维图形库提供的优化图形; OpenGL ES 1.0规格基础上的3D图形(硬件加速可选)
  • 用于结构数据存储的SQLite
  • 多媒体的支持,包括最常用的音频,视频和静态图像格式( MPEG4影片, H.264标准,支持MP3 , ACC格式的AMR , JPG格式,巴纽, GIF)
  • GSM电话技术(硬件依赖)
  • 蓝牙技术,EDGE(2.75代技术), 3G和无线网络连接 (硬件依赖)
  • 照相机,GPS,指南针(compass)和加速器 (硬件依赖)
  • 丰富的开发环境 ,包括一个设备仿真器,调试工具,内存和性能分析,以及Eclipse的IDE中的插件。

Android架构

   下面的图表显示Android操作系统的主要组成部分。每一部分会在下面详细描述。

Android的系统架构


Application(应用层)

   Android将提供一套核心应用,包括一个电子邮件客户端, SMS程序,日历,地图,浏览器,通讯录等。所有申请的书面使用Java编程语言。所有的应用程序程序使用Java语言编写(对了,应该是符合java的语法)

应用框架

   开发者有充分机会获得为核心应用所使用的同一框架。应用架构是旨在简化组件的重用,任何应用程序可以发布其功能和任何其他应用程序都可以重用这些功能(须经框架强制的安全性限制) 。这同样的机制,允许用户替换组件。

所有基础应用程序,是一套服务和系统,包括:

  • View System:丰富且可扩展的一套视图 ,可以用来建立一个应用,包括列表,网格,文本框,按钮,甚至是可嵌入的Web浏览器
  • Content Providers: 内容提供器 ,使应用程序访问其他应用程序的数据(如通讯录) ,或分享自己的数据
  • A Resource Manager: 资源管理器具 ,可提供访问非代码资源,如本地化的字符串,图形和布局文件
  • A Notification Manager:通知管理器 ,使所有应用程序在状态栏显示自定义警报
  • An Activity Manager : 活动管理器用于管理应用程序生命周期,并提供一个共同的导航恢复栈(自注:如应用程序切换时,需要恢复状态信息)

需要更详细的资料和创建一个应用程序,见创建一个Android应用程序

类库

    Android包含了一套被该系统的各种组件所使用的C/C++类库。通过Android公司的应用框架,这些功能暴露给开发者。一些核心的类库列举如下

  • 系统的C库 -继承标准C类库( LIBC的)的BSD衍生库 ,并适应于嵌入式基于Linux设备
  • 媒体库 -基于PacketVideo的opencore;类库支持播放和录制了许多流行的音频和视频格式,以及静态图像文件,包括MPEG4影片, H .264标准,支持M P3, ACC格式的A MR, JPG格式,和PNG
  • 外观管理器 -管理使用显示子系统和多应用程序的无缝复合二维和三维图形层
  • LibWebCore -一个现代化的网络浏览器引擎,它提供Android的浏览器和一个可嵌入的Web视图
  • SGL  -一个潜在力量的2D图形引擎
  • 3D libraries -一个基于OpenGLE S1.0 API的实现;类库使用了硬件3D加速(如果可用),或使用高度优化的三维软件光栅
  • FreeType --位图和矢量字体渲染
  • SQLite -为所有的应用程序提供一个强大的和轻量级的关系数据库引擎提供给所有申请

Android运行环境

    Android,包含了一套核心的类库,它提供java核心类库中的大部分功能。每一个Android应用程序在自己的Dalvik虚拟机中运行在其自己的进程。Dalvik已经被编写成可同时运行多个高效的虚拟机。Dalvik VM执行 Dalvik 可执行格式(.dex)的文件,它已经被优化到最小的内存占用。 VM是基于注册原理,运行被java编译器编译的类,它已经通过"dx"工具转换成.dex格式。

Dalvik VM依赖于Linux内核的基本功能,如线程和低级别的内存管理。

Linux Kernel Linux内核

    Android依赖于Linux2.6版为核心的系统服务,如安全,内存管理,进程管理,网络堆栈,以及驱动程序模型。内核也作为硬件和其它软件栈之间的一个抽象层。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值