001-Dev Guide-Android Basics-What Is Android?

是什么?

Android 是移动设备上的软件堆,它包含了操作系统,中间件和核心应用。Android SDK提供了用JavaAndroid平台上开发应用的必要工具和API

特性

·         Application framework(应用框架) 允许重用和更换部件

·         Dalvik virtual machineDalvik虚拟机) 移动设备的优化

·         Integrated browser(集成浏览器) 基于开源的WebKit引擎

·         Optimized graphics(图像优化) 使用自定义二维图形库; 基于OpenGL ES 1.0规范的3D图像(可选硬件加速)

·         SQLite(轻量级的数据库) 存储结构化的数据

·         Media support(媒体支持) 支持常见的音频,视频和图片格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

·         GSM Telephony (硬件相关)

·         Bluetooth, EDGE, 3G, and WiFi (硬件相关)

·         Camera, GPS, compass, and accelerometer (硬件相关)

·         Rich development environment(丰富的开发环境) 包括一个模拟器,调试工具集,内存和性能分析,和一个Eclipse插件

Android 体系结构

下面这幅图展示了Android操作系统的主要组成部分。 下面有对每个组件的详细介绍。

android 体系结构

Applications(应用程序)

Android 自带了一些核心应用程序,包括email客户端。短信程序, calendar, maps, browser, contacts, and others. 所有的应用程序都由Java语言编写。

Application Framework(应用程序框架)

通过提供一个开放的开发平台,Android使得开发者可以创建极为丰富和创新的应用。开发者可以自由的利用设备硬件,获取位置信息,运行后台服务,设置警报,添加通知到状态栏,等等。

开发者可以尽情使用核心应用中所使用的框架API。应用框架被设计来简化组件的重用;任何应用程序都可以发布其功能,其他应用程序可以使用这些功能(受框架安全机制的限制的)。同样的机制允许组件可以被用户替换。所有的应用其实就是一组服务和系统,包括:

·         可以用来创建一个应用的一组丰富的可扩展的 Views , 包括 lists, grids, text boxes, buttons, 和可嵌入的 web browser

·         使应用可以从其他应用(如联系人)获取数据或本应用自己间共享数据的Content Providers 

·         Resource Manager,提供对非编码资源的的访问,比如本地化的字符串,图像和布局文件

·         Notification Manager 使所有应用在状态栏显示警报

·         Activity Manager 管理应用的生命周期,提供导航返回堆栈

需要更多的细节和一个演练应用程序,可以参见 Notepad Tutorial

Libraries(函数库)

Android 包含一组可以被Android系统各个组件使用的C/C++ 函数库。这些功能通过Android应用框架展示在开发者面前。列出如下一些核心类库:

·         System C library – 针对移动设备优化了的C函数库

·         Media Libraries – 基于 PacketVideo's OpenCORE;支持重放和录音的多种流行音频视频格式和静态图像文件,包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

·         Surface Manager  在同时执行多个应用程序时,负责管理显示与存取操作间的互动,另外也负责将2D绘图与3D绘图进行显示合成。

·         LibWebCore – 一套网页浏览器的引擎,可供Android内建的网页浏览器和嵌入式的web view使用

·         SGL - 2D 图像引擎

·         3D libraries – 基于OpenGL ES 1.0 API的实现;该函数库可以使用硬件加速(如果可用),也可以使用高度优化的3D光栅扫描软件加速

·         FreeType – 提供点阵字、向量字的描绘显示

·         SQLite – 一套轻量级的数据库引擎,可供其他应用程序调用

Android RuntimeAndroid运行时)

Android包含了一组Java中提供大部分功能的核心函数库。

每个Android应用程序运行在自己的进程中,由应用程序自有的Dalvik虚拟机来执行。Dalvik允许设备有效的同时运行多个虚拟机。The Dalvik虚拟机执行的是经过内存优化的Dalvik Executable (.dex) 格式文件。Dalvik虚拟机是基于寄存器的,执行的是经过内置”dx”工具转换为.dex格式的Java类。

Dalvik 虚拟机依赖于Linux内核基本功能如线程和底层的内存管理。

Linux KernelLinux内核)

Android 核心系统服务采用了 Linux 2.6 版的内核,如安全、内存管理、进程管理、网络堆栈和驱动模型。Linux内核还扮演着硬件与其他软件堆栈间的抽象层的角色。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值