`

Android知识体系结构概览

阅读更多

原文链接:http://android.eoe.cn/topic/overview

 

什么是Android?

版本:Android 4.0 r1

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 framework.png

应用程序

Android会附带了一套核心应用,包括电子邮件客户端,短信程序,日历,地图,浏览器,联系人等。所有应用程序都使用Java编程语言编写。

应用框架

Android通过一个开放的开发平台,给开发人员在创建极为丰富创新性的应用程序上提供了有力的支持。开发者可以自由设定设备的硬件场景、接入位置信息、运行后台服务、设置闹钟、添加状态栏通知和更多的在其他优势方面上。
开发者拥有使用相同的框架API访问核心应用程序的全部权利。应用程序架构旨在简化组件的重用,任何应用都可以发布它的功能,之后任何其他应用程序都能使用这些功能(受强制执行的安全框架约束)。该机制允许用户更换组件。
在所有应用程序的背后都是使用一套服务和系统,包括:
* 丰富的 视图和扩展,可以用来构建应用程序,包括列表、网格、文本框、按钮、甚至内嵌的网页浏览器
内容提供者(Content Providers),使应用程序能够访问其他应用程序的数据(如通讯录)或共享自己的数据
资源管理器(Resource Manager),提供非代码资源的访问,如本地化的字符串、图形、和布局文件
通知管理器(Notification Manager),使所有的应用程序都能在状态栏显示自定义警报信息
活动管理器(Activity Manager)管理应用程序的生命周期,并提供一个导航使用的共同的返回栈
对于更多的细节和应用程序的演示,请看记事本教程

Android包括一组由C / C + Android系统组成的各个部分所用的库。这些功能都通过Android应用程序框架提供给开发者。下面列出了一些核心库:
* * 系统C库* - BSD,一个为基于嵌入式Linux的设备调整的标准C系统库(libc)的派生实现
* * 媒体库* - 基于PacketVideo的OpenCORE库支持许多流行的音频和视频格式的播放和录音,以及静态图像文件,包括MPEG4,H.264标准,支持MP3,AAC,AMR,JPG和PNG格式
* * Surface Manager* - 管理访问显示子系统和从多个应用程序无缝合成2D和3D图形层
* * LibWebCore* - 一个为Android浏览器和可嵌入的网页视图提供支持的现代化的网页浏览器引擎
* * SGL* - 底层的2D图形引擎
* * 3D库* - 基于OpenGL ES 1.0 API的实施库,无论使用或是包含硬件3D加速(如果可用)和高度优化的3D软件光栅化
* * FreeType* - 位图和矢量字体渲染
* * SQLite* - 为所有的应用程序提供一个强大而且轻量级的关系数据库引擎

Android运行时

Android包括一套核心库,提供在Java编程语言的核心库中大部分可用的功能。
每一个Android应用程序与自己的Dalvik虚拟机运行在它自己的进程中。Dalvik被设计成设备可以有效地运行多个虚拟机。Dalvik虚拟机执行的Dalvik可执行格式(.dex)是最小的内存占用优化文件。虚拟机是基于寄存器的,运行已所包含的“dx”工具转化成.dex格式的Java语言的编译器编译的类。
Dalvik虚拟机依赖于Linux内核的基本功能,如:线程和低级别的内存管理。

Linux内核

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

分享到:
评论

相关推荐

    android课程体系

    通过本课程体系的学习,学生将能够系统地掌握Java Android开发所需的全部基础知识和高级技能,包括前端技术、后端技术以及移动应用开发技术。此外,课程还包括了大量的实践案例,有助于学生将理论知识转化为实际工作...

    android 复习知识.doc

    以上总结了Android复习知识中的核心要点,涵盖了移动开发的理论基础、开发环境、系统架构、虚拟机机制、模拟器特性以及应用程序结构和资源管理等方面,为深入学习和实践Android开发提供了坚实的基础。

    体系结构设计评审文档2

    智能出行车辆一体化服务管理系统是一个复杂的IT项目,其体系结构设计评审文档是确保项目成功的关键步骤。这份文档由涂远鹏、刘铸煌、黎盛烜和雷成钤四位小组成员共同完成,指导老师为王继成。以下是针对文档中提到的...

    Android培训_HelloAndroid

    #### 一、Android体系结构概览 Android作为一个开放源代码的操作系统,其架构被设计成多层结构,每一层都提供了特定的功能和服务。以下是Android体系结构的主要组成部分: 1. **应用程序层**:这部分包含了一系列...

    Android入门到精通详解(完整书签)

    ### Android入门到精通详解知识点概览 #### 第一篇:Android系统结构和SDK使用 ##### 第1章:Android的系统介绍 - **系统介绍**:Android是Google开发的一款基于Linux平台的开源操作系统,专为移动设备设计。它...

    Android手机开发手册

    #### 一、Android体系结构概览 - **应用程序层**:此层包含一系列核心应用程序,这些应用程序都是用Java语言编写的。这些应用程序包括但不限于: - 联系人 - 短信 - 电话 - 地图 - 日历 - 邮件 - 更多其他...

    Android移动应用基础教程—习题答案.docx

    - **Android体系结构四层概述**: - **应用程序层**:这一层主要包括用户界面应用,例如联系人列表、电话应用等,这些都是安装在设备上的软件应用。 - **应用程序框架层**:包含了一系列APIs,为应用开发提供了...

    android 面试题 安卓巴士总结.rar

    以下是一些关键的Android知识点概览: 1. **Android体系结构**:了解Android系统的层次结构,包括Linux内核、HAL(硬件抽象层)、系统库和服务、应用程序框架以及应用程序。 2. **Activity生命周期**:掌握...

    android 程序设计 sdk1。0 Professional_Android_App

    通过上述章节概述可以看出,《Professional Android Application Development》覆盖了从基础到高级的Android开发知识体系,旨在帮助读者全面提升Android开发技能。无论是希望深入了解Android SDK 1.0的技术细节,...

    Android应用开发培训.pdf

    #### 一、Android体系结构概览 - **应用程序层**:这是用户直接接触的部分,包含一系列预装的应用程序,如联系人、短信、电话、地图、日历、电子邮件等。这些应用全部用Java语言编写。 - **视图(Views)**:提供了...

    传智播客黎活明主讲3G手机Android应用开发8天课程

    - Android体系结构简介 - Android SDK介绍 - 使用Gradle构建项目 - Android虚拟设备(AVD)管理器使用方法 3. **UI设计与布局** - 常用布局方式(LinearLayout、RelativeLayout、ConstraintLayout等) - ...

    Android技术讲座PPT教学课件.pptx

    1. **Android体系结构**: - Android系统基于Linux内核,为操作系统提供了基本功能,如显示驱动、WIFI驱动和电源管理。 - 第二层包含C/C++编写的程序包,如SQLite数据库和OpenGL/ES用于3D图形处理,以及Android...

Global site tag (gtag.js) - Google Analytics