当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]也许人们在得知Google新发布的Android系统版本名称为4.4时都不以为然,认为这个升级十分微不足道,只有0.1而已。就是安卓官方,对待此次升级也是颇为低调。可是如果了解了4

也许人们在得知Google新发布的Android系统版本名称为4.4时都不以为然,认为这个升级十分微不足道,只有0.1而已。就是安卓官方,对待此次升级也是颇为低调。

可是如果了解了4.4所暗示的变化时,所有Android开发者和其他利益相关者都必须打起十二分精神对看待4.4了。因为这次升级可能是Android在用户体验上大进步的前奏。还有那些总是嘲笑Android机器运行缓慢的iOS开发者和其用户也同样需要重新审视自己的行为了。因为这种嘲笑在不久的将来可能会失去其根基。不仅仅是直观体验上的,更是底层技术上的。

首先说一下,我也是一个Android开发者,目前还在美国上学,所以能够接触到一些一手资料,在国内搜了搜,几乎没有什么相关文章,所以在这里跟大家进行分享一下我的“发现”。

当官方发布4.4时,我简单浏览了一下Google+上官方账户发布的对该系统的简介,觉得值得关注的只有两点1.对内存的需求降低了,2.支持更多的sensor。综合起来,就是为可穿戴设备开路。确实没有什么亮点可言,顺应了大的发展方向而已。随后我预定了Nexus 5,图个性价比。到手试用后第一感觉是“物美价廉”,对系统本身没有太大的感觉。

后来为了进行开发测试,我打开了“开发者模式”,其中有一个选项引起了我的注意,叫“选择运行时环境”。可选项有Dalvik和ART,默认是Dalvik,即Android一直以来使用的运行方式。这是之前版本都没有的选项。为了弄明白这到底是个什么东西,我试着在Google上搜了一下,这一搜不要紧,直接改变了我对4.4版本存在意义的看法。仅仅因为这一个变化,4.4完全可以看做是5.0的前奏,或者说是试水版本。而且预示着5.0版可能会带来重大改变,一个可以让苹果面临变成下一个诺基亚、黑莓风险的改变。当然,我这话说的有点过,但是这个改变的重要性真的怎么说都不为过。

下面我就详细介绍一下这个变化到底是什么,这些内容可能对没有编程背景的人无法马上理解,但是我会尽量说的通俗一点。简单地说,就是Android程序运行的根本机制改变了,程序会启动地更快,而且会更省资源。表现在用户体验上,就是Android更流畅了,同时续航能力显著增加。而且这种变化不是小打小闹,而是非常可观的!根据AndroidPolicy上专项文章(http://www.Androidpolice.com/201 ... s-debuts-in-kitkat/)的说法,这个改变可以让部分Android程序的启动加速50%,理论上待机时间也会显著增加。根据该文后一些“小白鼠”们的评论,他们在试用了ART运行模式后都体会到了其带来的速度提升和续航提升,而且效果非常明显。这说明这个尚处在实验阶段的ART模式已经能够带来明显的好处,唯一不足的是,作为beta版,稳定性欠佳。

如果你想知道其原理是什么,请接着往下看,我会解释的很“大众化”。Android是基于Java语言的,iOS是基于Obejctive-C的。很专业是吗?不要紧,你不需要懂它们有什么区别、孰优孰劣。看懂下面的就行!前者,即Java的代码实际上需要两次“转换”才能最终以用户可看的程序跑起来,一次发生在开发者发布安装包前,使用开发者自己机器的CPU,另一次在用户启动APP前,使用手机的CPU。而后者,即Objective-C的代码只需要一次这种“转换”---在开发者发布安装包前,所以只占用开发者机器的CPU时间。如果我们假设同样代码量的程序需要同样多的CPU时间进行从代码到最终能跑的“转换”。那么把这种工作全部放在了开发者的机器上进行的iOS显然就更具优势,因为用户在打开APP之前不需要再浪费时间进行“转换”,这部分时间由开发者“忍受”了。而安卓程序启动相对较慢就是因为第二次“转化”需要在打开程序时进行引起的。这两种机制是历史的产物,总体上不能说谁好谁坏,只有适用范围的问题。考虑到手机属于体验要求比较高的设备,显然iOS这种机制更合适。但是在企业环境下,两次“转换”式的解决方案有很多其他的优势,这里就没必要展开说了,因为与话题无关。所以这两种机制带来的后果就是,iOS总是比Android快,而且是天生的!

现在ART的出现代表了什么?代表了Android在启动程序时将像iOS一样,无须进行第二次“转换”工作了。ART把第二次“转换”所要使用的时间放在“程序安装时”进行,而不再是“程序启动时”进行。这样做虽然安装程序时要慢一点,但是在使用时就会明显快起来。按我的浅薄理解,就是把以前每次启动程序都要做的工作改成“一次性”的工作,放在用户不那么在乎的安装时完成。这从长期来看也降低了总体的“转换”时间。试想一个程序,安装后你使用了N次。按原先Dalvik的方法(术语叫Just-in-time compilation),N次启动就需要进行N次这样的“转换”。但是按照ART的方法(术语叫Ahead-of-time compilation),不管这个程序你使用几次,都只发生一次“转换”。这也解释了为什么使用ART会降低CPU的使用频率,进而降低电量的使用。

当然,ART也会带来其他的负面影响。其一是增加程序安装所需的时间,这一点在上文中已经提到了原因,目前还不知道具体会是多少。考虑到其他技术因素,这个时长的增加可能比我为了讲解方便所举的“第二次转换”所需的时长要长一点,但是肯定不会长到无法忍受的地步。我查到的资料显示,这个变化对小程序几乎可以忽略不计,受影响的应该是以游戏为主的程序,因为他们本身代码量就更大。不过这跟你获得的收益也是成正比的,因为ART可以让你在打开游戏时省更多的时间。如果将来都是“后台安装”的话,对用户体验更是微乎其微,你去看几个新闻这时间就过去了。第二个缺点是会使安装后的文件占用更多的空间,据称是10%-20%的增长。不过不要怕,这个增长指的是对“代码”部分文件的增加。比如一个100M的游戏,可能代码只有20M,剩下80M是图片和音乐等文件。所以即便增加20%的安装所需空间,也只不过多了4M而已。跟你获得的好处相比微不足道。更何况是在单位存储空间价格极速下跌的21世纪?

最后,据我了解,ART这个项目其实在2年前就已经开始了,只不过之前一直不受关注,只有零星的报道,毕竟那时候只是个“梦想”而已。可是现在,4.4版本以“开发者预览”的形式将其呈现出来,目的就是让手机厂商、应用开发者等进行测试,从而帮助该项目进行改进。从我得到的信息来看,ART的稳定性并不差,完全可以胜任日常使用。这也是为什么我会说,4.4的ART选项可能预示着5.0系统会出现重大改变---彻底从Dalvik转换到ART。其实从实际情况分析,这样的转换也是合情合理的。Java需要虚拟机进行“二次转换”才能跑是因为要实现跨平台。可是对Android来说,从某种意义上已经是单一平台的设备了,再使用两次“转换”意义不大。为了提升运行效率,重新设计运行时方法合情合理,而且没有任何副作用。如果真的是这样的话,iOS开发人员和其用户所引以为傲的流畅体验将不再是一个值得炫耀的东西,因为这种体验将随着登陆Android平台变得“大众化”。再加上Android市场占有率的巨大优势、Google Play商店的崛起,iOS设备还能靠什么支撑自己的高价策略?Apple身上的光环已经随乔布斯的离去而开始退去,iPhone走下神坛只会是时间问题。到了那个时候,iPhone NC中的C也就只能代表Cheap了。

本人并非计算机专业出身,专业背景是商科+IT技术。因此对技术的理解可能有偏差,如文中观点有错,欢迎指正。

Android 4.4上的测试版新虚拟机ART和老的Delvik之间的实际差距有多大呢?国外有网友就发布了两个虚拟机的简单对比,发现应用启动速度互有胜负,但在应用切换方面明显就是ART更有优势。

Android 4.4拥有一个非常重要的隐藏功能,那就是正在测试当中的ART Java虚拟机,Google希望未来让它来替代老的Dalvik,让Android系统变得更流畅。这一个新的虚拟机在业内受到广泛关注,那么新虚拟机的表现又如何呢?近日国外有网友在Reddit上传了两个视频,为大家带来了不同虚拟机在启动和切换应用的简单对比。

用于对比的是两台从系统(ASOP Android 4.4 ROM)到安装的应用都相同的2013版Nexus 7,而运行环境则分别是ART和Dalvik。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭