ART:提升安卓性能承诺兑现

 垃圾回收
Android虚拟机是自动内存管理。优点是,开发者无需担心内存管理,缺点是,开发者失去了控制权,依赖于系统本身的机制。Dalvik的垃圾回收机制是造成系统卡顿的原因之一。在Dalvik虚拟机下,启动垃圾回收机制会造成两次暂停(一次在遍历阶段,一次在标记阶段)。所谓暂停,就是应用的所有线程都不再执行。如果暂停时间过长,应用渲染中就会出现掉帧。用户体验上来说,就是应用运行的时候出现卡顿。
Google宣称,Neuxs 5的平均暂停时间是54ms,结果就是,每次垃圾回收启动,平均掉帧是4帧。如果应用编写的不好,情况会更加糟糕。Anandtech测试了FIFA游戏。Dalvik环境下,启动应用的几秒内,垃圾回收启动9次,应用暂停时间总和603ms,总共掉帧是214帧。在ART下,情况有了极大改善。同样时间里,应用暂停时间总和是12.364ms(4次前台垃圾回收,2次后台垃圾回收),总共掉帧是63帧。
ART能够做到这一点,是因为应用本身做了垃圾回收的一些工作。垃圾回收启动后,不再是两次暂停,而是一次暂停。在遍历阶段,应用不需要暂停,而标记阶段的暂停时间也大大缩短,因为Google使用了一种新技术(packard pre-cleaning),在暂停前就做了许多事情,减轻了暂停时的工作量。Google承诺说,他们已经把平均暂停时间降到了3ms,远远超过Dalvik的垃圾回收。
与此同时,Google还改进了内存分配系统,把分配速度加快了10倍。垃圾回收算法也进行了修改,以增强用户体验,避免应用被打断。

 64位支持
ART支持64位系统,这会带来性能上的提升,加密能力的大幅改进,同时保持与现有32位应用的兼容性。与苹果不同的是,Google使用了指针压缩,以避免转换到64位后,空间占用大幅增加,其虚拟机仍然是32位指针。
Google宣称,现有Play Store上应用中,85%都可以转移到64位,剩下的15%有原生代码,需要重新编译。总的来说,转移到64位应该会在短时间内完成。
总结
从许多方面来说,Google兑现了其提升性能的承诺,解决了困扰Android的诸多问题。Android的一些致命弱点,原因在于非原生应用和自动内存管理系统,ART在这些方面做出了大量改进。总之,在应用的流畅度和性能方面,Android终于可以与iOS一决高下了。

米粒在线
  • 本文由 发表于 2014年7月7日12:49:02
  • 转载请务必保留本文链接:https://www.miliol.org/25449.html
百科知道

给数据库做分表处理

对于WordPress数据库的posts文章表很大,怎么优化是个头疼的问题。想到了分表就想尝试下。做个记录。原创记录文章,转载请注明出处。 优化WordPress数据库中的posts表,可以从以...
科技

三折秒杀!京东年货节正式启动

明天,1月10日,农历腊月初八,腊八节。 今天,1月9日,20点,京东正式启动了一年一度的年货节大促活动,各种优惠促销纷纷开启。 京东官方也奉上了京东超级秒杀日必买清单,不少产品半价,有的...
生活道理

熬夜如何改变了我们的身体

熬夜的危害有很多,如:经常感到疲劳,免疫力下降:人经常熬夜造成的后遗症,最严重的就是疲劳、精神不振;人体的免疫力也会跟着下降,感冒、胃肠感染、过敏等等自律神经失调症状都会出现。 头痛:熬夜的隔天,上班...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: