请选择 进入手机版 | 继续访问电脑版

机锋论坛

  • 关注机锋
  • 关注机锋
 找回密码
 注册
楼主: hailang215

[评测] 快比ART?高通定制虚拟机补丁使用体验

[复制链接]

10

主题

0

好友

306

积分

等待验证会员

该用户从未签到

G币
4
最后登录
2016-8-2
注册时间
2011-12-17
发表于 2013-12-12 09:46 |显示全部楼层

马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。

立即注册 已有帐号?点击登录   下载游戏和软件,请【猛击这里】进入机锋市场!

×
本帖最后由 hailang215 于 2013-12-17 18:47 编辑

前言

        其实这个补丁在11月27号已经发布,那时在论坛中闲逛的时候无意中发现。原作者kszaq对这个补丁的作用和机制并没有谈的很详细,我也根据他帖子中所说的,上CAF看了一下,其实CAF上没有说什么,于是也就没当一回事了。前几天竟然在Nexus7版块看到了这个帖子,这一次转载者StrangerWeather自己用了这个补丁,说对机子性能提升很多,我才下了决心去研究一下这个补丁到底是何方神圣。
     我回原帖看了一下kszaq补充的Q&A,也自己打上补丁测试,同时也密切留意是否有用户反映致命问题。我把这个帖子给了一个从事Android开发的同学看,他说这个补丁也没有什么特别的。基本除了Nexus这些机子以外,其他的机子(连XX google edition)都会在固件中针对机子的硬件进行优化,这个补丁只是高通针对所有APQ8064的Soc而制作的,与其说是补丁,倒不如说是高通的家庭作业而已。至于Bionic库,他笑着说,CM早就已经用上了,并不是什么新鲜事儿。
     作为一个普通用户,无论这个补丁是什么来历,只要能够带来用户体验的提升就足够了。从我开始使用到发帖子为止,其实已经用了三天了,发完帖子之后我也继续测试,力求能够覆盖的日常使用的所有情况,使测评结果更有参考价值。很巧合的是,这短短一周内谷歌连续发布了两次升级,于是这次测试可以覆盖4.4/4.4.1/4.4.2,这样参考价值应该会更高。


还是前言

    本想把这个测评做的正正规规像个科学文献 一样,大块大块的图表,大块大块的数据,做到公平公正公开。想了想,觉得自己还是图样了。每个人买机子的初衷就决定了各自的使用方式,不同人的使用方式对自己机子的调试、软件的选择都有很大的影响,弄得像科学文献一样只会让人看得云里雾里,而且也不知道个所以然来。不如就让我以最感性的方式,用“感觉”这个最模糊、同时也是最容易传染的词语,结合自己的使用经验来写吧。让各位机油看笑话了,测评可能写着写着就成回忆录了。一切随缘吧。


ART vs Dalvik / AOT vs JIT
       既然这个补丁是提到ART和Dalvik,那也就很有必要简单介绍两者之间的区别和各自的优势了。我不是干这行的,也算是现学现卖吧,就谈谈自己的理解,如果说错了恳请各位机油斧正。
       本次大更新可能这个被隐藏在开发者模式中的ART功能是被大家关注得最多的。据本人现有的资料看来,早在两年前谷歌娘已经在秘密进行这项目,并非某关村所说的“这次优化源于前不久其收购的一家名为Flexycore的公司,该公司一直致力于Android系统的优化,而ART模式也是在该公司的优化方案上演进而来”,(还有,把FlexyCore打成Flexycore可是非常低级的错误)。而在前不久(今年十月份)收购的FlexyCore公司则是进一步推进了这一项目。
       到底什么是ART?谷歌娘是这样介绍的:
ART is a new Android runtime being introduced experimentally in the 4.4 release KitKat. This is a preview of work in progress in KitKat. It is available for the purpose of obtaining early developer and partner feedback.
(ART是一种全新的Android运行库,作为一项实验性功能添加到Kitkat中。这是Kitkat中的一项前瞻性的工作。ART根据早期开发者和合作伙伴反馈而提供的。)

    很玄是吧?那我们等下在回过头来说它。我们先看看什么是Dalvik虚拟机,它又是怎么成为了Android发展的“绊脚石”呢?
      Dalvik是基于及时编译(JIT)的运行库,在每一次运行程序的时候,有一部分代码都要重新编译过。也就是说,每一次运行程序的时候,都会有一小段时间CPU跑去做准备工作去了。在你的程序还在运行的时候,这部分编译好的代码会暂时存储在Cache,以供随时调用,所以在切换程序和反复开启同一个程序是,按理应该会比较快一点。
      为什么要弄个这样的机制呢?这又得追溯到当年谷歌娘的辛酸发展史。如果没记错,Android应该是2006年发布的。就拿本人用过的第一台Android设备来说吧,应该算是第一台上市的Android机——HTC Dream,192MB的RAM在当年已经算得上是豪华了,但是如果没有记错的话当年所有的app都是安装在机子的ROM上的,这样一来256MB的ROM可就捉襟见肘了。Dalvik第一个好处在于它能够一定程度节省程序占用的空间,可以这样比喻吧,程序经历安装的过程就像是把压缩包拷贝进ROM里,在运行的时候才解压缩,这样就就可节省空间了。
       更重要的是,我们把Dalvik称为JAVA虚拟机,通过这个虚拟机,程序的编写者在编写这个程序的时候只要遵守虚拟机的规范就行了,至于这个机子安装在什么设备、什么样的硬件上他们就不必操心了,这一切都交给虚拟机通通搞定。可以这样认为,虚拟机充当了一个翻译的角色,让不同国籍的人都可以相互沟通。这一点也是Android可以在短短6年内占领85%移动设备的原因。
      那ART呢?随着技术的进步,闪存的价格日益降低,像当年4GB超豪华的“海量存储”现在早已司空见惯。旗舰机不弄个64GB、128GB存储都不敢站出来说话了。有人可能会说了,你说这些都是SD卡、外置存储啊,像很多机子的ROM也没有大多少啊,还有RAM什么的,现在最多也只有3GB啊。RAM什么的、ROM什么的,我不太了解,对于像Nexus7这种不支持插卡的,我就默认了32G/16G这些都是ROM。我想说的是,现在的闪存已经越来越便宜,存储空间(包括内存)现在已经不是限制平台性能的瓶颈了。那瓶颈呢?——Dalvik。
      为了空间和兼容性,Android作出了很大的牺牲,种种征象表明,Dalvik并非是当年谷歌最优的方案。ART符合最高效的执行模式:预编译执行。这并非什么神秘的东西,在我们的电脑上,很多程序在安装的时候已经被编译成针对运行设备硬件的“机器码”,这样一来,在加载的时候就不需要重新进行编译,有效地提高了程序的加载速度。ART之所以“快”也就在于这里,在安装程序的时候,系统会针对设备硬件进行一次编译,生成对应的二进制文件(binary,也许叫“底包”更合适?),这样在运行该程序的时候就无需额外执行编译,提高了程序的加载速度。但是,这不是没有代价的,每次安装的时候系统要进行一次编译,这样一来安装的时间就会延长,生成的文件也需要找地方存储,虽说现在的空间比较便宜了,但是毕竟也不能无限地占用。
       如果上面的话你都看不懂(就对了),简单说来,Dalvik通过时间来换取空间、ART则是以空间来换取时间。




(万万没想到这篇东西竟然会有人关注,还是赶紧填坑好了)
应机友要求,先放出还原补丁

KRT16S(供4.4使用
密码: yqov


KOT49E(供4.4.x使用)
密码: j0x6

原帖在: 让你的Dalvik跑得比ART更快,高通定制Dalvik和Bionic库补丁尝鲜
4

查看全部评分

xv播放器  gba宠物小精灵下载

10

主题

0

好友

306

积分

等待验证会员

该用户从未签到

G币
4
最后登录
2016-8-2
注册时间
2011-12-17
发表于 2013-12-12 09:46 |显示全部楼层
本帖最后由 hailang215 于 2013-12-16 10:47 编辑

Q&A
   Q:这些补丁是哪里来的?
   A:
CAF(Code Aurora Forum)拥有所有高通的bionic补丁和轻微调试过的dalvik,不过这些补丁都是用在MotoX和其他的QCOM设备上(就是Nexus没有),而且,这些补丁都是闭源的。你可以在这个链接中看到补丁修改的内容。
显然,你可以发现,绝大多数的修改和调整都可以支持其他的库(libraries),高通所定制的也仅仅是这部分而已。不幸的是,这些部分都是闭源的,libqc-opt包括在了QCOM ROM之中被系统共享,所以我们可以提取出来使用它。而libqc-dalvik则是一个静止的库(static library),这种库是私有有的,而且不被系统共享的,所以我们无法提取出来。这就意味着,如果我们想使用他们的补丁,只可以使用高通提供的二进制文件,而不能通过源代码来构建。如果我们尝试从源码中构建这么一个补丁的话,高通定制的libqc-dalvik、libqc-sqlite和libqc-skia的内容都会丢失(因此,我们还没有后面两个补丁,因为和libqc-dalvik一样它们是静止库)。
简单说来,就是高通为QCOM定制的dalvik是闭源的,我们只能用他们提供的二进制文件(就是不能继续开发和调整的意思)。

*这个补丁中的dalvik是高通为MotoX的MSM8906DT所定制的,这个处理器本质和Nexus 7(APQ8064-AA)上是一样的,与Nexus4(APQ8064)和Nexus5(APQ8974-AA)的就有较大的区别了,不过也能用就是了。
(这里仅援引xboxfanj大神的说法,补充原帖没有翻译的部分)

Q:如果我打了这个补丁是否无法直接OTA升级呢?我可以直接更新吗?
A:
答案是不可以。你需要将它恢复到原生的dalvik和默认的库才可以通过OTA升级。当然了,任何对原生固件的修改都可能会导致OTA的失败。原则上您最好将整个rom恢复到原生状态,针对这个补丁,我们为您制作了KRT15S和KOT49E的恢复补丁(*见楼上)。最保险的方式还是从原厂镜像中提取出system.img重刷一次system分区罗。
Q:这个补丁我的原生4.4.1/4.4.2(KOT49E/KOT49H)可以用吗?
A:
妥妥儿,放心用吧。
*理论上只要是基于AOSP4.4以上的rom都可以用。
途语导航官网  为什么壁纸很模糊 

13

主题

0

好友

693

积分

大学本科

Rank: 6Rank: 6

  • TA的每日心情
    开心
    2014-11-13 19:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    G币
    13
    最后登录
    2018-12-9
    注册时间
    2012-7-5
    发表于 2013-12-12 10:43 |显示全部楼层
    原创技术贴,必须得顶。
    淘身边  小米手机3评测 

    10

    主题

    0

    好友

    306

    积分

    等待验证会员

    该用户从未签到

    G币
    4
    最后登录
    2016-8-2
    注册时间
    2011-12-17
    发表于 2013-12-12 11:08 来自手机 |显示全部楼层
    guoluan 发表于 2013-12-12 10:43
    原创技术贴,必须得顶。

    我只是xda的搬运工
    小百合bbs  养殖在线

    6

    主题

    0

    好友

    766

    积分

    学士

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    无聊
    2018-8-30 14:28
  • 签到天数: 34 天

    [LV.5]常住居民I

    G币
    146
    最后登录
    2019-5-4
    注册时间
    2011-3-15
    发表于 2013-12-12 12:04 |显示全部楼层
    头像图片中的MD不錯,可惜已經成為历史,2台已经入库收藏
    虐女小游戏  c8813刷机

    2

    主题

    0

    好友

    136

    积分

    高中生

    Rank: 4

    该用户从未签到

    G币
    605
    最后登录
    2019-5-26
    注册时间
    2012-4-9
    发表于 2013-12-12 12:56 |显示全部楼层
    怎么刷呢?求教程啊
    iphone是什么意思   威峰论坛

    8

    主题

    0

    好友

    531

    积分

    等待验证会员

  • TA的每日心情
    奋斗
    2015-1-2 14:38
  • 签到天数: 36 天

    [LV.5]常住居民I

    G币
    189
    最后登录
    2016-8-2
    注册时间
    2011-8-12
    发表于 2013-12-12 15:23 |显示全部楼层
    关键是不懂怎么放里面!
    玄奥八字合婚  有道翻译软件下载

    5

    主题

    0

    好友

    647

    积分

    等待验证会员

    该用户从未签到

    G币
    110
    最后登录
    2016-8-2
    注册时间
    2011-5-24
    发表于 2013-12-12 15:50 |显示全部楼层
    判断这个补丁是否有意义:
    是否比ART模式兼容性好?
    比起ART模式下,两个开app速度一样?
    我想不过日后随着升到4.4的机子多,兼容问题会解决,这个补丁意义也变少了
    91手机助手安装不了   iphone缺点

    697

    主题

    1

    好友

    8987

    积分

    等待验证会员

    Who Cares?

  • TA的每日心情

    2016-7-12 13:22
  • 签到天数: 145 天

    [LV.7]常住居民III

    G币
    2021
    最后登录
    2017-1-7
    注册时间
    2011-12-21
    发表于 2013-12-12 18:59 |显示全部楼层
    施工完毕吱一声
    手机rom是什么意思   摩安卫士

    8

    主题

    0

    好友

    1334

    积分

    研究生

    Rank: 8Rank: 8

    该用户从未签到

    G币
    120
    最后登录
    2018-12-12
    注册时间
    2010-9-23
    发表于 2013-12-15 22:38 |显示全部楼层
    体验怎么还没出来。。。。。
    安兔兔跑分  埃菲尔铁塔壁纸
    您需要登录后才可以回帖 登录 | 注册

    网上有害信息举报中心|手机版|机锋网 ( 京ICP备15063876号-5 京公网安备 11010202008075

    GMT+8, 2019-6-17 13:52

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部