什么是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. Android帮助文档翻译——开发指南(一)应用程序基本原理
  2. Android 应用程序基础(Application Fundamentals)
  3. android 应用程序不出现在最近打开程序列表里
  4. android Dialog弹在底部核心代码
  5. ConstraintLayout 使用可视化的方式来编写Android应用程序的界面
  6. android 应用程序数据共享shareuserid篇+ContentResolver+Conten

随机推荐

  1. 你的手机能升级到Android 4.0吗?所有手机
  2. ubuntu下挂载android sdcard
  3. Android 菜鸟历程6
  4. [Android] Android获取当前顶部Activity
  5. Android(安卓)音视频深入 七 学习之路的
  6. 基础 Android 开发规范整理
  7. Android 蓝牙( Bluetooth)耳机连接分析及
  8. 获取资源的id
  9. Android请不要滥用SharedPreference
  10. Android系统设计中存在设计模式分析