`

【翻译】(1)何为Android?(2012-06-30废弃)

 
阅读更多

【翻译】(1)何为Android?(2012-06-30废弃)

 

see

http://developer.android.com/guide/basics/what-is-android.html

 

原文见

http://developer.android.com/guide/basics/what-is-android.html

 

-----------------------------------

 

What is Android?

 

何为Android?

 

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

 

Android是一个用于移动设备的软件栈(注:这里应该是协议栈往软件的引申),包含操作系统、中间件(注:一般是指运行在服务器上的程序,这里引申了)以及关键应用程序。Android SDK提供在Android平台上使用Java编程语言开始开发应用程序所需要的工具和API。(注:一般认为Android就是一种基于Linux内核的操作系统)

 

Features

 

特性

 

* Application framework enabling reuse and replacement of components

 

* 应用程序框架:使组件可重用和可替换

 

* Dalvik virtual machine optimized for mobile devices

 

* Dalvik虚拟机:优化移动设备(注:用于Java的运行时)

 

* Integrated browser based on the open source WebKit engine

 

* 集成浏览器:基于开源的WebKit引擎(注:网页浏览器引擎)

 

* Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)

 

* 优化的图形:通过定制的2D图形库来完成;基于OpenGL ES 1.0规范的3D图形(硬件加速可选)

 

* SQLite for structured data storage

 

* SQLite:用于结构化数据存储(注:一种开源的跨平台嵌入式数据库)

 

* Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

 

* 媒体支持:用于普通音频、视频、以及静态图片格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

 

* GSM Telephony (hardware dependent)

 

* GSM电话:(依赖硬件)(注:GSM是全球移动通信系统的缩写,相当于移动设备的2G标准)

 

* Bluetooth, EDGE, 3G, and WiFi (hardware dependent)

 

* 蓝牙,EDGE,3G,以及WiFi:(依赖硬件)(注:蓝牙是爱立信提出的一种无线个人局域网,EDGE是GSM增强数据率演进的缩写,即2.75G,3G是3代的缩写,WiFi是无线保真的缩写,指支持IEEE 802.11标准的设备)

 

* Camera, GPS, compass, and accelerometer (hardware dependent)

 

* 照相机,GPS(注:全球定位系统的缩写),陀螺仪(注:用于重力感应)和重力加速度传感器(注:用于感应重力方向):(硬件依赖)

 

* Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

 

* 富开发环境:包含设备模拟器,调试工具,内存和性能剖析,以及Eclipse IDE插件。

 

Android Architecture

 

Android架构

 

The following diagram shows the major components of the Android operating system. Each section is described in more detail below.

 

以下示意图展示Android操作系统的主要组件。下面会更详细地描述每个部分。

 

(图略)

 

Applications

 

应用程序

 

Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.

 

Android搭载一系列核心应用程序,包括电子邮件客户端,SMS(注:短信服务的缩写)程序,日历,地图,浏览器,电话薄,等等。所有应用程序用Java编程语言书写。

 

Application Framework

 

应用程序框架

 

By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.

 

Android通过提供一个开发的开发平台,向开发者提供构建极其丰富和创新的应用程序的能力。开发者免费利用设备硬件,访问位置信息,运行后台服务,设置闹钟,添加通知到状态栏,以及非常非常多的东西。

 

Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.

 

开发者可以完全访问核心应用程序所使用地相同框架API。设计应用程序框架是为了简化组件的可重用;任意应用程序可以公开它的功能,而其它任意程序可以使用那些功能(取决于框架实施的安全约束)。相同的机制还允许组件被用户替换。

 

Underlying all applications is a set of services and systems, including:

 

底层的所有应用程序时一套服务和系统,包括:

 

* A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser

 

* 一套可用于构建应用程序的丰富和可扩展视图,包括列表,表格,文本框,按钮,甚至还有可嵌入的网页浏览器。

 

* Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data

 

* 内容提供者,使应用程序可以访问来自其它应用程序(诸如电话簿)的数据,或共享它们自己的数据。

 

* A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files

 

* 一个资源管理器,提供对非代码资源的访问,诸如本地化字符串,图形,以及布局文件。

 

* A Notification Manager that enables all applications to display custom alerts in the status bar

 

* 一个通知管理器,使所有应用程序可以在状态栏上显示定制的警报。

 

* An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack

 

* 一个活动管理器,管理应用程序生命周期和提供通用的导航后退堆栈。

 

For more details and a walkthrough of an application, see the Notepad Tutorial.

 

更多应用程序细节和攻略请参考记事本教程。

 

Libraries

 

 

Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:

 

Android包含一组C/C++库,供Android系统的不同组件使用。这些功能通过Android应用程序框架暴露给开发者。一些核心库列举如下:

 

* System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices

 

* 系统C库——一个标准C系统库(libc)的BSD衍生实现,兼容基于Linux的嵌入式设备。

 

* Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

 

* 媒体库——基于PacketVideo的OpenCORE;这些库支持多种流行的音频和视频格式的重放和录音,以及静态图片文件,包括MPEG4, H.264, MP3, AAC, AMR, JPG, 和PNG。

 

* Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications

 

* 表面管理器——管理对显示子系统的访问和无缝地组合多个应用程序的2D和3D图形层。

 

* LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view

 

* LibWebCore——一个现代网页浏览器引擎,加强Android浏览器和可嵌入网页视图。

 

* SGL - the underlying 2D graphics engine

 

* SGL——底层2D图形引擎

 

* 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer

 

* 3D库——一个基于OpenGL ES 1.0 API的实现;这些库使用硬件3D加速(如果可用的话)或内置的高度优化的3D软件光栅器

 

* FreeType - bitmap and vector font rendering

 

* FreeType——位图和矢量字体渲染

 

* SQLite - a powerful and lightweight relational database engine available to all applications

 

* SQLite——一个可用于所有应用程序的强大和轻量级关系型数据库引擎

 

Android Runtime

 

Android运行时

 

Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.

 

Android包含一套核心库,它们以Java编程语言的核心库的形式提供大部分功能。

 

Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.

 

每个Android应用程序运行于它自己的进程,使用它自己的Dalvik虚拟机实例。Dalvik被设计为可以在一个设备上有效地运行多个虚拟机。Dalvik虚拟机运行Dalvik可执行文件(.dex)格式的文件,它们针对最小内存占用进行优化。虚拟机是基于寄存器的,运行由Java语言编译器编译的,然后用内置的dx工具转换为.dex格式的类。

 

The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

 

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

 

Linux Kernel

 

Linux内核

 

Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

 

Android依赖于Linux版本2.6,用于核心系统服务诸如安全,内存管理,进程管理,网络栈,以及驱动模型。内核还扮演硬件和软件栈其它部分之间抽象层的角色。

 

Except as noted, this content is licensed under Apache 2.0. For details and restrictions, see the Content License.

 

除特别说明外,本文在Apache 2.0下许可。细节和限制请参考内容许可证。

 

Android 3.2 r1 - 03 Oct 2011 18:28

 

-------------------------------

 

1. 此页废弃

Android 4.1 r1 - 30 Jun 2012 0:55

内容被移除

 

-------------------------------

 

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

 

(此页部分内容基于Android开源项目,以及使用根据创作公共2.5来源许可证中描述的条款进行修改)


分享到:
评论

相关推荐

    何为捷径?文章-需求.docx

    在IT行业中,我们经常面临各种复杂的问题和挑战,而寻找捷径成为了许多从业者追求的目标。然而,正如数学老师、船夫和哲人的观点所揭示的,捷径并不总是直截了当的,它可能需要适应环境,需要持续的努力,而非单纯的...

    电气自动化设备行业欧洲系列4:欧洲电动车销量何为超预期?能否持续?-0218-天风证券-34页.pdf

    1. **政策推动**:欧洲各国政府加大了对电动车的补贴力度,例如德国和法国提高了电动车购买补贴,使得电动车在考虑增值税和补贴后的购置价格更具竞争力。 2. **税收优惠**:英国和荷兰对电动车实施了较低的福利税,...

    何为机器视觉?机器视觉入门 20181126

    机器视觉是一种技术,它使计算机和自动化设备能够“看”并理解现实世界,进而执行基于图像的任务。在本文中,我们将深入探讨机器视觉的基本概念、组成部分、应用领域以及其在现代科技中的重要性。...

    火星人敏捷开发手册 2012-12-31(修正了页眉)

    ### 火星人敏捷开发手册 2012-12-31(修正了页眉) #### 敏捷开发概述 敏捷开发是一种强调快速响应变化、注重团队协作、持续交付高质量产品的软件开发方法论。它提倡通过短周期迭代的方式,使产品能够更快地适应...

    80端口被占用,如何解除

    何为80端口被占用? ------------------ 在安装软件的时候,可能会发现80端口被系统占用,导致无法安装或运行某些软件。这是因为某些应用程序正在使用Http.sys, Http.sys占用着80端口,从而阻止其他应用程序使用该...

    体系结构1-11次作业答案合集.rar

    1、何为抽象?抽象的意义是什么?试列举出计算机系统的抽象表现为哪些? SA思考题3 1、阅读软件架构师应该知道的97件事,选择3件印象最深的并写出感想。 SA思考题4 1、阅读材料“Software Architecture 4+1”,试给...

    java 面试常见问题整理

    何为反射? 反射机制优缺点 反射的应用场景 注解 异常 Exception 和 Error 有什么区别? Checked Exception 和 Unchecked Exception 有什么区别? Throwable 类常用方法有哪些? try-catch-finally 如何使用? ...

    通信设备Ⅲ行业:三问三答,硅光对光模块产业影响几何?-20210213-长江证券-32页.pdf

    二、何为硅光?硅光何用? 硅光是一种利用硅材质制成的光学器件,能够将光学信号转换为电信号,以满足高速数据传输的需求。硅光技术可以应用于数据中心相互连接、 metropolitan area network、access network 等...

    华创债券9月海外月度观察:直击海外,美联储重启回购操作意欲何为_华创证券-28页.pdf

    华创债券9月海外月度观察:直击海外,美联储重启回购操作意欲何为_华创证券-28页.pdf

    何为HDMI?步入数字化需要知晓的点滴

    ### 何为HDMI?步入数字化需要知晓的点滴 #### HDMI概述 HDMI(High Definition Multimedia Interface,高清晰多媒体接口)是一种专为音频和视频信号传输设计的接口技术,被视为下一代音视频主流接口。它能够在...

    何为英雄?!英雄为何?!——读《水浒传》有感.doc

    《水浒传》是中国古典文学中的四大名著之一,作者施耐庵以其独特笔法描绘了一群豪杰聚义梁山的壮丽画卷,提出了何为英雄、英雄为何的深刻主题。通过对书中英雄人物的剖析,我们可以看到英雄的三个主要特质:兄弟义气...

    100个iOS开发面试题汇总.pdf

    1. 请问何为Keychain效劳? - 解释:该问题考察了面试者的Keychain技术知识和安全性控制能力。 缓存和紧缩 1. 什么缘故移动设备上的缓存和紧缩是不可或缺的? - 解释:该问题考察了面试者的缓存和紧缩技术知识和...

    高中历史之历史百科刘向荣:何为启蒙?素材

    高中历史之历史百科刘向荣:何为启蒙? 在这篇文章中,我们可以看到,刘向荣先生对启蒙的定义和解释。他认为,启蒙实质上就是理性精神的弘扬。这一点,我们可以通过康德的观点来加以理解。康德认为,启蒙就是人类对...

    网络存储:何为主流?

    网络存储技术的发展旨在满足日益增长的数据存储和访问需求,尤其是随着互联网和企业信息化的快速发展。在探讨主流的网络存储类型之前,我们先要理解RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)...

    汽车:欧洲系列4:欧洲电动车销量何为超预期?能否持续?.pdf

    本篇行业报告深入探讨了欧洲电动车销量增长的情况,并对其增长的可持续性进行了分析。报告首先指出,自2019年第四季度起,欧洲电动车市场进入加速放量阶段,销量显著增长,现阶段的销量增长仍主要受政策推动,但其...

    火星人敏捷开发手册 2012-08-15

    ### 火星人敏捷开发手册 2012-08-15 #### Scrum基本知识 **Scrum概述** Scrum是一种基于敏捷原则的项目管理框架,旨在通过迭代的方式快速交付高质量的产品。其核心思想是通过短周期的迭代(通常称为Sprint)来...

    【权威真实、独家!】2012-2022上市公司漂绿、伪社会责任、环境信息披露质量数据集!

    博采众长,独家测算了2012-2022年上市公司漂绿数据,累计涵盖9460+观测 值数量,1400+样本企业!其中,上市公司漂绿程度指标测算方法参考国际重要期刊( SSCI一区)做法,附件内包括详细原始数据、数据说明文件、...

    何为机器视觉?机器视觉入门.pdf

    何为机器视觉?机器视觉入门.pdf

    火星人敏捷开发手册 2012-02-29

    ### 火星人敏捷开发手册 2012-02-29 #### Scrum基本知识 **Scrum概述** Scrum是一种基于敏捷原则的项目管理框架,旨在通过迭代的方式快速交付高质量的产品。其核心思想是通过短周期的迭代(通常称为Sprint)来...

    何为抽象方法和抽象类1---马克-to-win java视频

    何为抽象方法和抽象类 马克-to-win java视频 abstract

Global site tag (gtag.js) - Google Analytics