声明第一次看E文资料,试着自己翻译一下,发现很多单词不知道怎么翻译才好,出现了很多错误。翻译仅仅用于自己学习,我知道里面有很多错误,和我一样菜的请慎重。大虾发现错误若希望小弟能进步,请指出来。拍砖可以,但是骂人就不要了。俺不想装B之类的。谢谢!
Android是移动设备的一种软件栈,它包括一系列的操作系统,中间件和主要的应用。Android SDK 提供了在Android平台上使用Java程序设计语言来开发应用程序的工具和API。
特点
••应用程序框架(Application framework)能够重用和替换组件
•Dalvik虚拟机(Dalvik virtual machine)为手机设备提供优化
•集成浏览器(Integrated browser)以开源WebKit引擎为基础
•最佳优化的图形(Optimized graphics)由一个定制的2D图形库驱动;以OpenGL ES1.0规格的3D制图法(可选的硬件加速)
•SQLite 为结构化数据存储的轻量级别数据库
•媒体支持(Media support)通用的音频,视频,还有静态影像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
•GSM Telephony(从属硬件)
•相机,GPS,罗盘,和加速计(从属硬件)
•丰富的开发环境 包括设备仿真器,调试工具,存储器工具,性能调试工具,一个用于Eclipse IDE的插件

Android架构
下面的图表展示了Android操作系统主要的组件。每个部分在下面被详细的描述

Applications(应用程序)
Android搭载了一系列的核心应用程序,其中包括email 客户端,SMS程序,日历,地图,浏览器,联系人等等其他。所有的应用程序使用Java程序语言编写。
Application Framework(应用程序框架)
在核心应用程序中使用的框架APIs,开发者也完全拥有其访问权限。应用程序架构被设计为简单的组件复用;任何一款应用程序都可以发布它的性能,并且其他的应用程序可以使用这些性能(受到框架安全的限制)。相同的机制允许了用户可以将组件进行替换。

所有的应用程序底层是一套服务和系统进程,包括:
•一套丰富的并且可扩展的视图,可以用来构建应用程序,包括列表,网格,文本框,按钮甚至可嵌入的web浏览器
•内容提供器,可以使应用程序访问其他应用程序(比如联系人)的数据,或者共享它们自己的数据
•资源管理器,提供非代码资源诸如本地字符串,图形,布局文件
•通知管理器,能够使所有应用程序在状态栏显示定制的通知
•活动管理器,管理应用程序的生命周期并且提供一个通用的导航回退功能。
更多的细节和应用程序的预览,请查阅Notpad Tutorial。

Libraries(类库)
Android 包括一套Android系统使用的各种各样组件的c/c++类库。这些功能通过Android应用程序架构展现给开发者。部分核心类库如下:
•System C library:一个BSD实施的标准类库,被修改为嵌入式Linux设备使用
•Media Libraries:以视频软件的开放式内核为基础;类库支持回放和录制多种流行音频和视频格式,并且还支持静态图片文件,包括MPEG4, H.264, MP3, AAC, AMR, JPG, 和 PNG
•Suiface manager:管理访问显示子系统和无缝衔接复杂应用程的2D和3D图形层
•LibWebCore:一个现代的网络浏览器引擎,同时支持Android浏览器和嵌入式的网络控件
•SGL:底层2D图形引擎
•3D libraries:以OpenGL ES 1.0 APIs为基础的接口;这些类库用来硬件3D加速,最佳化的3D软件xx?
•FreeType:位图和矢量字体渲染
•SQLite:功能强大轻量级相关数据引擎,可以被所有应用程序使用。
Android Runtime
Android包含一套核心库,它用来给Java程序设计语言的核心库提供大部分的功能实现
每一个Android应用程序在它自己的线程中运行,还有他们在Dalvik虚拟机中的实例。Dalvik已经设计成的使设备运行复杂虚拟机更有效率。Dalvik虚拟机执行.dex格式的文件,这个文件可以更大程度的优化内存使用。虚拟机是一个基于寄存器的,运行着已经被dx工具格式化为.dex格式的并且被Java编译工具编译过的类文件的虚拟机。
Dalvik虚拟机依赖于Linux内核,用于类似线程,低级内存管理这些底层管理。

Linux Kernel
Android依赖于Linux2.6版本内核,用于核心系统服务,比如安全,内存管理,进程管理,网络堆栈,驱动模型。内核同时扮演着一个硬件和软件之间的中间层角色。











更多相关文章

  1. Ubuntu上adb找不到设备问题小结
  2. android配置X86虚拟机
  3. android Supporting multiple screen翻译(二)
  4. Android设置无标题窗口
  5. 《Android(安卓)Security Internals》第一章安卓安全模型翻译
  6. AndroidManifest.xml的Service元素 android:process设置
  7. Android在WebView上构建Web应用程序
  8. Android(安卓)横竖屏操作
  9. [连载 1/15] Android(安卓)从入门到精通Example 之 TextBox

随机推荐

  1. Android学习札记6:ProgressBar圆形进度条
  2. Android 仿淘宝选中商品不同尺寸的按钮组
  3. android:clearTaskOnLaunch的用法
  4. android 向服务端发送请求编码问题
  5. android 自动化压力测试-monkey 1 实践
  6. Android(安卓)View浜嬩欢鍒嗗彂鏈哄埗(婧
  7. 编译android vlc
  8. android ui线程和数据的分离
  9. Android 通知栏Notification的整合 全面
  10. android --天气预报