您的位置:首页 > 移动开发 > Android开发

Android系统为什么比以前的手机系统强大

2012-10-26 10:43 288 查看
有网友发私信提到这样的问题,自己做过很多个移动平台,比如symbian ,mtk,android,ios,简单的把自己的对这些问题一些理解写出来,希望能回答到这位网友的问题。
ni*****网友提问说: 我不是在做软件的,只是因为兴趣才产生这样的疑问,希望能指教 android平台的应用是用java做的是吗,多年前手机就有java模拟器了,那时候怎么手机的java程序感觉并没用现在的android应用功能强大?除了手机硬件的升级,软件上有哪些区别吗,与android的dalvik模拟器有关系没?? 谢谢~

首先,要知道,java只是一门编程语言,它并不能让android系统变得强大。

1、硬件方面

android手机的强大第一肯定和硬件升级有很大关系。以前的手机处理器100Mhz ,内存几十兆。现在的手机处理器去1-2Ghz,还有的双核的,内存1-2G。现在的手机比老的PC还强大,以前在手机上想都不敢想的事情,现在很轻松的就实现了。

2、软件方面

你说的多年前的java模拟器就是那时候的java虚拟机,在手机上的java应该叫j2me,是为了适应手机的小内存小处理能力简化的java虚拟机。功能只能做些简单的界面和图形,还能联网。你说的那样的手机可能有symbian ,mtk(所谓的山寨机),诺基亚symbian系统之前的手机,还有其他芯片厂商出的系统比如M-star,还有一些说不上来系统的手机,都是放了一个小的j2me虚拟机,而且这些j2me的虚拟机的标准每个手机都不一致,虚拟机的厂商很多,导致虽然都是java小程序,一般只能在某个手机上运行,其他手机运行不了。

3、Android系统的强大

看看Android的系统架构图。从Android系统分析它的强大的原因:


1.Libraries层

看中间Libraries层,android集合世界上大量优秀的开源库。每个开源库都有很强大的功能。SQlite使得android有了数据库的功能。 WebKit库使得android浏览器能像PC浏览器一样浏览网页。OpenGL使得了手机有了3D图形的能力,SGL 2D引擎。FreeType各种字体。 Surface 使得渲染界面更绚丽。其他库的作用你可以自己看。这些库都是C或者C++编写的,功能性能都非常好。应用层的java语言通过JNI连接到这些库,发挥这些库的作用。这个库层以前手机没有,也不敢有。

2、Dalvik虚拟机

Dalvik虚拟机直接连接Linux内核,提供程序核心的服务:比附线程,内存管理。程序运行的更快更稳定。Dalvik也是java语言运行的环境,有了它才能解释java语言。Dalvik把java的大部分的库都集合进来了,这样程序员就能方便的使用java环境的类集合,比如字符串库,排序,查找等等。以前2me只能使用java全部环境的少部分的功能。应用层那不用java语言行不行呢?肯定也行,比如用python或者其他语言,google选择java可能是java的程序员多,java足够流行,文档也丰富。这样对android的发展有力。没有开发者的支持,就没有应用的丰富,没有应用和游戏,智能手机的功能就回归到了打电话和发短信了。

3、Android 的源码开放

Android的源码的开放,让培训英语的老罗都有机会做手机。其实你自己可以。可见开源的威力(虽然android不是完全的开源)。现在全世界的大部分的手机厂商都在做Android手机,众人拾柴火焰高啊,大家都在做,就形成了良性循环,于是Android 的世界里,手机种类也多了,有几百块的也有几千块一个的,android ipad也出来了,android使得智能电视这样的东西也做出来了。还有Android的硬件抽象层(HAL层),可以让设备厂商保持自己硬件驱动的保密性,又可以让厂商自己的驱动和上层应用的接口保持一直,增加了设备厂商的积极性。设备厂商可以轻松的添加自己特定的硬件。

4、Android应用的开发

相对Symbian开发来说,Android 提供了非常完善的开发参考文档(http://developer.android.com/index.html),设计文档等等,文档的详细程度比symbian好很多倍。让开发者能快速的上手开发软件。开发工具主要使用Eclipse, 在Eclipse 上提供了很多Android开发的强大的插件。

容芳志 (http://blog.csdn.net/totogo2010)

本文遵循“署名-非商业用途-保持一致”创作公用协议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: