什么是Android?

Android是一个移动设备,包括操作系统,中间件和关键应用软件堆栈。 而 Android SDK提供了必要的工具和API,开始使用Java编程语言在Android平台开发应用程序。

特点

  • 应用程序框架 ,使组件的重用和替换
  • Dalvik虚拟机为移动设备优化
  • 集成浏览器基于开源的WebKit的引擎
  • 优化的图形 ,通过自定义的2D图形库供电;基于3D图形的OpenGL ES 1.0规范(硬件加速可选)
  • SQLite的为结构化数据存储
  • 媒体支持常见的音频,视频和静止图像格式(MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF )
  • GSM电话 (依赖于硬件)
  • 蓝牙,EDGE,3G和WiFi(依赖于硬件)
  • 摄像头,GPS,指南针,和加速度计 (依赖于硬件)
  • 丰富的开发环境 ,包括设备模拟器,调试,内存和性能分析工具,和一个用于Eclipse IDE插件

Android架构

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

应用

Android将与核心应用,包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人,和其他船舶。 所有应用程序都使用Java编程语言编写的。

应用框架

通过提供一个开放的开发平台,Android提供了开发人员的能力建设极为丰富和创新的应用。 开发者可以自由设备的硬件,接入位置信息的优势,运行后台服务,设置警报,状态栏添加通知,很多,很多。

开发人员可以完全访问核心应用中使用相同的框架API。 应用程序的架构设计简化了组件的重用,任何应用都可以发布它的功能和任何其他应用程序可能使用这些功能(主体框架执行的安全约束)。 该机制允许组件被用户所取代。

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

  • 一套丰富的可扩展的意见可以用来构建一个应用程序,包括列表,网格,文本框,按钮,甚至可嵌入的Web浏览器
  • 内容提供商 ,使应用程序访问其他应用程序的数据(如联系人),或共享自己的数据
  • 一个资源管理器 ,提供本地化的字符串,图形,和布局文件,如非代码资源的访问
  • 一个Notification Manager ,使所有的应用程序,在状态栏显示自定义提醒
  • 管理应用程序的生命周期和Activity Manager管理提供了一个共同的导航backstack

有关详细信息和应用程序的演练,请参见“ 记事本“教程。

图书馆

Android包含一套C / C + + Android系统的各个组成部分所使用的库。 这些功能通过Android应用程序框架暴露给开发者。 下面列出了一些核心库:

  • 系统C库 -一个标准C系统库(libc)的BSD派生的实施,为嵌入式的基于Linux的设备调整
  • 媒体库 -基于PacketVideo的OpenCORE;库支持许多流行的音频和视频格式的播放和录音,以及静态图像文件,包括MPEG4,H.264,支持MP3,AAC,AMR,JPG, PNG
  • 表面经理 -管理多个应用程序,显示子系统和无缝复合材料的2D和3D图形层的访问
  • LibWebCore -一个现代的Web浏览器的引擎,它的权力的Android浏览器和一个可嵌入的web视图
  • SGL -底层的2D图形引擎
  • 3D库 -基于OpenGL ES 1.0 API的基础上实现;库使用或者硬件3D加速(如果可用)或所包含的,高度优化的3D软件光栅
  • 用于FreeType -位图和矢量字体渲染
  • SQLite的 -所有的应用程序提供的一个强大的和轻量级的关系数据库引擎

Android的运行

Android包括一个核心库提供大部分的功能在Java编程语言核心库提供。

每个Android应用都运行在它自己的进程中,与它自己的Dalvik虚拟机实例。 Dalvik被设计,使设备可以有效地运行多个虚拟机。 Dalvik虚拟机执行的Dalvik可执行文件(。DEX)格式,这是最小的内存占用优化文件。 VM是基于寄存器的,并运行由Java语言的编译器已到。dex格式转化的“dx”工具编译的类。

Dalvik虚拟机依赖于Linux内核作为线程和低水平内存管理等基础功能。

Linux内核

Android的核心系统服务,如安全,内存管理,进程管理,网络堆栈和驱动程序模型依赖在Linux 2.6版本。 内核也作为硬件和软件堆栈的其余部分之间的抽象层。

更多相关文章

  1. 新书内容连载(3):Android(安卓)SDK中常用命令行工具(一)
  2. Android应用开发(一):Android平台搭建与开发环境配置
  3. Android系统框架和几种调用流程
  4. Android中的内存管理
  5. Android帮助文档翻译——开发指南(一)应用程序基本原理
  6. Android(安卓)安全机制(1)uid 、 gid 与 pid
  7. Android初学者入门 从入门到精通
  8. 新书内容连载(3):Android(安卓)SDK中常用命令行工具(一)
  9. android开发2:eclipse 开发 Android(安卓)应用程序基础

随机推荐

  1. mysql 5.7.17 安装配置方法图文教程(windo
  2. MySQL按照汉字的拼音排序简单实例
  3. mysql 5.7.17 安装配置方法图文教程(ubunt
  4. windows无法启动MySQL服务报错1067的解决
  5. mysql 5.7.17 winx64安装配置图文教程
  6. mysql 5.7.17 安装配置方法图文教程(windo
  7. Ubuntu16.04 server下配置MySQL,并开启远
  8. mysql 5.7.17 winx64安装配置方法图文教
  9. mysql免安装没有任何root权限
  10. 浅谈mysql数据库中的换行符与textarea中