基于http://androidappdocs.appspot.com/guide/basics/what-is-android.html的翻译稿.
随译的意思是指: 随手进行的翻译. 因此语法未必严格, 内容不仅不和原稿严格匹配, 而且会有删减(只保留我感兴趣的东西).
什么是Android?
Android是一套为移动设备定制的软件套件. 它包括:一个操作系统, 中间件以及关键应用程序.
Android SDK提供了为Android平台开发应用所必须的工具和API集.
Android SDK采用Java编程语言.
Android包括以下关键特性:
1. 程序框架
2. Dalvik虚拟机(针对移动设备进行了优化)
3. 集成的浏览器(基于WebKit)
4. 优化后的图形库(2D, 3D)
5. SQLite (数据存储)
6. 多媒体支持(语音, 视频, 以及多种图像格式等,MPEG4,H264等)
7. GSM 电话技术(依赖硬件支持)
8. 蓝牙, EDGE, 3G以及WiFi(依赖硬件支持)
9. 摄像头, GPS, 指南针, 加速器(?是指重力感应吗)
10. 丰富的开发环境, 包括模拟器, 调试工具,性能优化以及基于Eclipse IDE的PlugIn.
Android架构
Android分成四层:
1. 应用程序层. 所有的应用程序都用Java语言进行编写.
2. 程序框架层.
3. 库以及Runtime;
4. Linux核心.
笔注: 应用层用Java编写, 库以及runtime是采用C/C++编写, 是谁来完成Java对C/C++的封装,供上层应用调用? JNI?
程序框架
程序框架包含一系列的功能(管理)集, 例如Windows的管理, View管理, 位置管理等, 有两个Manager需要注意:
1. Content Providers(内容提供)
它使应用程序能访问其他程序的数据, 或者共享它们自己的数据(给其他程序)
2. Activity Manager(生命周期管理)
管理程序的生命周期, 同时也提供一个通用的”navigation backstack”(这是什么? 历史堆栈的回顾?)
库
媒体库基于PacketVideo的OpenCORE库;
SQLite提供关系数据的存储;
Android runtime
每一个Android应用程序都有自己独立的进程, 并且有一个独立的Dalvik虚拟机实例.
Dalvik允许设备中run多个VM实例. Dalvik VM采用Dlavik Executable(.dex)格式运行执行文件.