Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1736498
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: 嵌入式

2012-03-25 20:48:58

Android是一个基于Linux内核的移动设备操作系统。它由Android公司开发,之后被Google收购。

Android平台由以下部分组成
一、硬件的参考设计(HW reference design)
二、Linux操作系统内核(Linux OS kernel):内核针对移动平台进行了优化,提供一些底层的接口,包含硬件驱动、内存、进程、安全,网络,电源管理等。
三、开源库(Open-source libraries):包括SQLite、Webkit、OpenGL和media manager等。
四、运行时支持(Optimized Runtime):包括Java虚拟机和C/C++核心库。Java虚拟机(Dalvik VM)针对linux内核进行了优化,用来运行Android的java程序。C/C++核心库(Core Library)为C/C++程序提供了支持。
五、应用程序框架(Flexible application framework)。
六、用户界面框架(UI framework)。
七、预装好的应用程序(Preinstalled applications)。
八、SDK

Android提供了它自己的Java虚拟机"Dalvik VM"。类似于普通的Java VM的.class文件,Dalvik VM把Java文件编译成优化了的.dex文件(字节码)并执行,.dex格式保证了程序运行时占用的内存量尽可能地少。编译后的文件(.dex)连同一些数据和资源可以打包成一个APK文件(.apk),在Dalvik VM上运行,类似于jar文件。

基于性能考虑,开发者也可以使用NDK(Native Development Kit)绕过VM编写C++程序。但是因为一般情况下比较耗时的操作都在系统调用(比如键盘事件)上,所以C++在性能上的优势可能并没有那么明显,也许会得不偿失。


阅读(791) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~