架构
">
从sdk文档中,偷来一幅">android平台的架构图,如上。在整个架构最底层红彤彤的部分,是">linux kernel在">移动平台的一个移植,它隐藏了硬件、网络等相关的细节,为上层提供了一个相对纯洁的统一接口。除非要做的是android到不同设备的移植工作,否则对于大部分普通开发者而言,基本上是远观而不必亵玩的。google一直强调,android的底层实现异常nb,可移植性超强,暂没有功夫研读,实属遗憾。
靠上一层,是一些核心的和扩展的类库,它们都是原生的c++实现。在这一层,你可以看到很多熟悉的面孔,一如sqlite、webkit、opengl,开源的力量与贡献由此可见。如果,该层类库需要被上层函数调用,就必须要通过jni的导出相应的接口函数,否则就只能在层次内部自个把玩。
也是在这一层次上,还有为上层">java程序服务的运行时。dalvik虚拟机,是android的java虚拟机,之所以不采用j2me的虚拟机,一方面是因为j2me的设计是为了低端机器而优化,而dalvik则是为了高端一些的机器进行优化,提供更好的性能。另一方面,从商业角度来看,必须绕开j2me虚拟机,android才能彻底解放,想怎么开源就怎么开源,不再需要考虑 license的问题。
如果喜欢深入android 【二】 —— 架构和学习请收藏或告诉您的好朋友.
阅读(139) | 评论(0) | 转发(0) |