- 浏览: 28406 次
- 性别:
- 来自: 广州
最新评论
导读:Sans Serif是Google的一位工程师,近日发布了一篇博文非常清楚的描述了Android系统架构,中国移动通信研究院院长黄晓庆在新浪微博上推荐了该文,并认为文中对Android的介绍很好,如下是CSDN对文章的简单编译:
Andriod是什么?
首先,就像Android开源和兼容性技术负责人Dan Morrill在Android开发手册兼容性部分所解释的,“Android并不是传统的Linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,Android是一个用于连接设备的软件块。”
Linux:
所有东西的底层是一个稳定的保持更新的Linux内核(我现在用的Nexus手机所用的就是2.6.32版的内核),以及我们精心打造的能源管理组件;当然还有将它们整合至上层Linux代码的扩展和公共组件。
Dalvik:
Android另一个重要的部分,包括虚拟机和一组重要的运行环境。它的设计非常巧妙,是个很好的一个手机终端的底层应用。
代码如何生成?
Dalvik虚拟机只执行.dex的可执行文件。当Java程序通过编译,最后还需要通过SDK中的工具转化成.dex格式才能在虚拟机上执行。
我需要强调的是,Android应用本身就可视作可在平台上运行并调用APIs的代码,所以对代码如何生成不需特别看重。
特别的Apps:
在图中有些基于Dalvik虚拟机的Apps看起来像是Android的一部分,其实是由Google提供,这些应用包括Dialer、 Contact、Calendar、Gmail和Chat等。它们中的绝大部分是开源并可复用的。只有少部分例外,比如Google Maps和Android Market.
开源那些事:
在下面的图中,绿色的大部分组件是基于Apache许可证开源,其余基于GPL、LGPL和BSD。
Android框架
在Android开发者网(developer.android.com)上已有不少篇幅来帮助你使用它,在此就不再累述。
标准库
在这里“标准”是指“开发者在开源环境中一般可以使用的”。
App里面是什么
一个Android App包含在一个我们称之为APK的压缩文件夹中,APK并没有什么可说的,需要注意的是Android Manifest——介于App和Android System的接口。
其他
大多数应用是基于Dalvik的,我指的是除了游戏之外的应用。游戏开发者通常希望用C/C++来编写,排斥使用虚拟机,所以他们可以通过Andriod NDK来开发。(编译/杨东杰)
原文:http://www.tbray.org/ongoing/When/201x/2010/11/14/What-Android-Is
以上转自开源中国网站 http://www.oschina.net/bbs/thread/13318
发表评论
-
(转)SQLite入门与分析(六)---再谈SQLite的锁
2010-11-19 00:09 899写在前 面:SQLite封锁机制的实现需要底层文件系统的 ... -
(转)SQLite入门与分析(五)---Page Cache之并发控制
2010-11-19 00:05 983写在前面:本节主要谈 ... -
(转)SQLite入门与分析(四)---Page Cache之事务处理(3)
2010-11-19 00:01 892Code 写在前面:由于 内容较多,所以断续没有写完的 ... -
(转)SQLite入门与分析(四)---Page Cache之事务处理(2)
2010-11-18 23:57 1105写在前面:个人认为pager层是SQLite实现最为核心的 ... -
(转)SQLite入门与分析(四)---Page Cache之事务处理(1)
2010-11-18 23:53 891写在前面:从本章开始,将对SQLite的每个模块进行讨论。 ... -
(转)SQLite入门与分析(三)---内核概述(2)
2010-11-18 23:48 1244写在前面:本节 是前 ... -
(转)SQLite入门与分析(三)---内核概述(1)
2010-11-18 23:41 745写在前面:从本 章开始, ... -
(转)SQLite入门与分析(二)---设计与概念(续)
2010-11-18 23:38 1001写在前面:本节 讨论事务,事务是DBMS最核心的技术之一 ... -
(转)SQLite入门与分析(二)---设计与概念
2010-11-18 23:35 752写在前面:谢谢各位的 ... -
(转)SQLite入门与分析(一)
2010-11-18 23:31 858写在前面:出于项目的 需要,最近打算对SQLite的内核 ... -
(转)深入研究B树索引(五)续
2010-11-18 15:10 8955.3 重建 B 树索引 ... -
(转)深入研究B树索引(五)
2010-11-18 15:07 11565. 重建 B ... -
(转)深入研究B树索引(四)续
2010-11-18 14:58 8744.2 B 树索引的对于删除( DEL ... -
(转)深入研究B树索引(三、四)
2010-11-18 14:44 6753. B 树索 ... -
(转)深入研究B树索引(二)
2010-11-18 14:20 7272. B 树索引的内部结构 ... -
(转)深入研究B树索引(一)
2010-11-18 14:12 967摘要: 本文对B 树索引的结构、内部管理等方面做了一个全面 ... -
(转)B树、B-树、B+树、B*树都是什么
2010-11-17 23:46 628B 树 即二叉搜 ... -
画UML图时注意的几个原则(转)
2010-08-03 12:34 1570软件开发中,分析和设计时,文档的编写和思想的交流,经常要绘制各 ... -
你是个软件架构师吗?(转)
2010-07-14 11:11 623开发和架构的界限难以 ... -
(转)同曲异奏——高效能项目团队的五大特点
2010-03-29 00:24 824同曲异奏——高效能项 ...
相关推荐
这是一个基于andriod的阴阳历转换计算器,在这里会用到一些andriod的基础知识,可以用来练手熟悉andriod项目
byte转化工具类,可以实现byte转int,数组,string,小端取高位,低位等
安卓Andriod源码——圆形旋转菜单CircleMenu.zip
一款好用的安卓手机路由器模拟软件,安装后不要升级。
安卓Andriod源码——乐动力的酷黑旋转引导动画.zip
安卓Andriod源码——翻翻乐--抢答--转盘.zip
安卓Andriod源码——Andorid录音+变声+转mp3.zip
安卓Andriod源码——-flip类似Flipboard翻转动画的实现.zip
安卓Andriod源码——通过手势对图片进行任意放大绽放旋转.zip
虚幻引擎客户端与语言服务器进行简单的通信。它连接到它,记录并将您的语音提供给语言服务器,服务器将识别出的语音作为文本发送回虚幻。 依赖于其他付费科大讯飞云服务 ...支持的开发平台:Andriod
因为本人用的是MCU,没使用linux或者andriod等系统,要做图片的透明叠加效果,在网上各种找PNG转565rgba和888rgba的工具软件,找了好久都一直找不到,实在没办法自己写了一个,用在本人的实际项目中。可以选择转换成...
andriod rtsp push stream(安卓抓屏,然后rtsp推流)
安卓Andriod源码——幸运大转盘源码.zip
基于Andriod智能手机开发的示波器类软件,仅供参考!希望对你有所帮助!
Andriod_去掉系统自带的Activity跳转动画.
虚幻引擎客户端与语言服务器进行简单的通信。它连接到它,记录并将您的文本提供给语言服务器,服务器将识别出的文本作为语音发送回虚幻。 依赖于其他付费科大讯飞云服务 ...服务器可以同时处理多个客户端 ...
电源管理主要体现在以下方面: 1.低功耗模式:对于现在的嵌入式芯片,都提供了各种低功率模式,如:提供了STOP,WAIT,DEEP SLEEP 等功率状态,为不同的系统应用使用不同的功率模式提供了很好的解决方案。...
这个工程是简单将String和byte[]互相转换的Demo,有需要的可以下载
这个资源是关于在 Android Studio 中设计的转换器应用程序,用来转换米和英尺之间的单位。通常情况下,我们可能需要在不同的测量标准之间进行转换,因此该资源对于需要进行度量转换的用户具有很高的实用价值。...
1、能够通过gps定位物理坐标。 2、根据坐标通过Google map服务转换为地理名称。 3、将地理名称发送短信到联系人。