去年三月份,Google发布了首个Android7.0(AndroidNougat)测试版,五月份发布正式版,虽然至今Android7.0不足5%的市场占有率,足以让苹果笑掉大牙,但是随着三四月份新机扎堆发布,Android7.0肯定会迎来一波爆发。或许你会问,Android7.0有什么好的,我现在用6.0稳定得很呢,倒还真有一个能让你有真切感受的变化,用我们小超哥的话讲就是“震惊!Android7.0应用安装速度飙升666%!”,你还别不信,先看看小超哥做的一个与Android6.0的对比视频:
Android7.0与Android6.0应用安装速度对比
视频中用的测试手机为Nexus5X,在Android6.0中,安装同一版本的手机淘宝用时28秒,升级到Android7.0后,安装手机淘宝仅用时14秒,请问你震惊了吗?
下次有基友或妹子问你Android7.0有什么好的时候,你完全可以大胆告诉他们,Android7.0的软件安装速度快了一倍啦~~~~不信你上超能网看看对比视频,万一妹子惊呆了,追问一句,怎么会快这么多呢,你肯定不能回答不知道吧,所以我军从不打无准备之仗,要做一个脱离低级趣味一个有益于人民一个BIGGER满满的人,你必须往下看。
Android4.4时的JIT解决方案
故事还得回到几年前,还是Android4.4的时代,那时Android还是用的Dalvik虚拟机,配合的是JIT编译器(JustInTime,即时编译器),其实Google在Android2.2时就添加了JIT。当APP运行时,JIT编译器就会对新类进行编译,经过编译后的代码,会被优化成相当精简的原生型指令码,这样在下次执行到相同逻辑的时候,速度就会更快。
JIT是在运行时编译,优缺点很明显,安装速度快占用存储空间小,主要问题是在运行时编译开销大,容易造成卡顿,所以在这之后,Google果断壮士断腕,在Android5.0和Android6.0中放弃了Dalvik转投ART(AndroidRuntime)虚拟机怀抱,编译策略也弃JIT改用AOT(AheadOfTime)方案。
Android6.0采用了AOT编译方案
ART的策略与Dalvik不同,应用在第一次安装的时候,字节码就会预先编译成原生型指令码,使其成为真正的本地应用。以后运行APP时,不需要再进行编译,启动速度和运行速度都提高了,也就不那么卡顿了。
但是这种方案也有明显缺点,就是在安装中要全面预编译,安装时间难免长,而且会消耗掉更多的存储空间,根据我们的测试,手机淘宝这个APP在Android6.0系统中应用存储大小为171MB,在Android4.4系统中占用为154MB,相当于占用空间多了10%。截图就不贴了,有兴趣的朋友可找小超哥(微信9501417)索取。
在Android7.0中,Google进一步改进了编译策略,这次他直接来了个HybridMode,也就是AOT+JIT混合模式,糅合了两者的优点:
Android7.0的编译策略
Google是这么说的:Android7.0添加了一个JIT编译器与代码分析到ART,JIT编译器是对ART当前的AOT编译器的一个补充,提高运行时性能,节省存储空间,加快应用程序更新和系统更新。
在Android7.0中,安装应用时不再像6.0那样对应用代码进行完整的预编译,而是会根据JIT编译器的分析结果,在设备充电或其余空闲时间对“coldcode”进行解释,对于“hotcode”,则在实际使用时由JIT进行编译,因此应用安装时间和占用空间大大减少了,像手机淘宝这个APP在Android7.0系统中的占用大小为156MB,和Android4.4系统中非常接近。主要的是,它还不会影响到应用的运行速度。
Android7.0中的JIT架构-它是如何工作的
总结一下,在Android7.0,采用了AOT+JIT混合编译策略,带来的好处如下:
﹒APP安装时间大幅缩短,只有Android6.0系统的50%;
﹒系统升级OTA速度加快,不再需要优化;
﹒应用占用空间更少,一般会少10%;
﹒降低系统开销,改善电池消耗。
本文来自“心吃心”用户投稿,该文观点仅代表作者本人,不代表华夏信息网立场,本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容,请发送邮件至1470280261#qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。如若转载,请注明出处:http://www.xxxwhg.com/zh/108698.html