• Android开发者指南(8) —— What is Android?



    前言

      本章内容为开发者指南(Dev Guide)/Android Basics/What is Android?,版本为Android3.0 r1,翻译转载并整理自:"gansc23",再次感谢"gansc23" !期待你一起参与翻译Android的相关资料,联系我over140@gmail.com。

    声明

      本文档转载并整理自:Android是什么(What is Android

      本文翻译也部分参考:Android基础:什么是Android (电脑老师)

      Android中文翻译组:http://goo.gl/6vJQl

    原文

    Android是什么? (What is Android?)

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

     

    特性(Features)

    * 应用程序框架(Application framework)  可重用并可替换的组件

    * Dalvik虚拟机(Dalvik virtual machine) 为移动设备而优化

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

    * 优化的图形处理(Optimized graphics) 以定制的2D图形库和基于OpenGLES 1.0规范的3D图形(可选的硬件加速)为基础

    * SQLite结构化数据存储

    * 媒体支持(Media support) 通用音频、视频,还有图像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

    * GSM电话(GSM Telephony) (依赖硬件)

    * 蓝牙(Bluetooth), EDGE, 3G, and WiFi (依赖硬件)

    * 照相机,GPS,指南针,加速感应器(Camera, GPS, compass, and accelerometer) (依赖硬件)

    * 丰富的开发环境(Rich development environment) 包括设备模拟器,调试工具,内存和性能分析工具和用于Eclipse IDE的插件

     

    Android架构(Android Architecture)

             下图展示了Android操作系统的主要组件。每个组件在下面有更详细的描述。

            

     

    应用程序(Applications)

             Android将配备一系列核心应用程序,包括电子邮件客户端,短信程序,日历,地图,浏览器,通讯录等。所有的应用程序都是使用Java编程语言。

     

    应用框架(Application Framework)

             通过提供一个开放的开发平台,Android提供给开发者建立极其丰富和创新应用的能力。开发者自由地享有硬件设备的优势,访问本地信息,运行后台服务,设置警示,向状态栏添加通知等。

             开发人员可以使用和核心应用程序使用的完全相同的API框架。应用程序架构的设计的目的是为了简化组件的重用;任何应用程序都可以发布它的功能,其他的应用程序可能会利用到这些功能(需遵守框架提供的安全约束)。依靠同样的机制,组件可以被用户所取代。

             底层的所有的应用程序是一组服务和子系统,包括:

    * 一组丰富并且可扩展的view,这组view可以被用来构建一个应用程序,包括列表,表格,文本框,按钮,甚至可嵌入的Web浏览器。

    * 一组Content Providers,可以使应用程序访问其它应用程序的数据(比如通讯录),或者共享自己的数据。

    * 一个资源管理器(Resource Manager),提供对非代码资源的访问,比如本地化的字符串,图形和布局文件。

    * 一个通知管理(Notification Manager),可以使所有的应用程序在状态栏显示定制的提醒。

    * 一个Activity管理(Activity Manager),它管理的应用程序的生命周期,并且提供了一个通用的后台切换栈。

    如需了解一个应用程序的详细信息和具体示例,请参考Notepad代码示例(Notepad Tutorial)

     

    (Libraries)

             Android包括了一套C/C++库,这套库被Android系统的各个组件使用。通过Android的应用框架,这些功能被开放给开发者。其中的一些核心库如下:

    * 系统C(System C library) - 一个继承自BSD的标准C系统实现(libc),被调整成面向基于linux的嵌入式设备。

    * 媒体库(Media Libraries) - 基于PacketVideo的的OpenCore;该库支持回放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4H.264MP3AACAMRJPGPNG格式。

    * Surface管理器(Surface Manager) - 管理显示子系统,并能无缝地组合多个应用的2D3D图像层。

    * LibWebCore - 一个流行的Web浏览器引擎,它对Android浏览器和嵌入式Web视图具有良好的支持。

    * SGL - 底层的2D图形引擎。

    * FreeType - 位图和矢量字体渲染。

    * SQLite - 所有的应用程序使用并且强大而轻量级的关系型数据库引擎。

     

    运行时(Android Runtime)

             Android包括一个核心库的集合,她们提供了Java编程语言的核心库中的绝大多数功能。

             每一个Android应用都在她自己的进程中运行,该进程也属于某个Dalvik虚拟机的实例。Dalvik被设计成能让设备高效地运行多个虚拟机。 Dalvik虚拟机执行的是.dex结尾的Dalvik可执行文件格式,该格式被优化为最小内存使用。虚拟机是基于寄存器的,并且运行那些Java编程语 言所编译的类,这些类被内置的dx工具转换为.dex格式。

             Dalvik虚拟机依赖Linux内核来提供底层的功能,比如线程和低级内存管理。

     

    Linux内核(Linux Kernel)

             Android依赖Linux 2.6来提供核心系统服务,比如安全、存储管理、进程管理、网络栈和驱动模型。该内核同时扮演着介于硬件和软件栈的其余部分之间的一个抽象层。

  • 相关阅读:
    为 ADO 程序员设计的 ADO.NET (转)
    MSN 历史纪录分页显示(XML + XSL + Javascript)
    python连接postgresql数据库
    centOS安装scikitlearn
    14. 页高速缓存 20100228 21:10 322人阅读 评论(0) 收藏
    18. 程序的执行 20100302 12:56 131人阅读 评论(0) 收藏
    ttt 20110118 11:49 71人阅读 评论(0) 收藏
    15. 访问文件 20100228 22:55 129人阅读 评论(0) 收藏
    17. 进程间通信 20100302 12:49 191人阅读 评论(0) 收藏
    19(终). 系统启动 20100302 13:00 191人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/over140/p/2000586.html
Copyright © 2020-2023  润新知