马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在华为P30系列的国行发布会上,华为用几页PPT引出了「华为方舟编译器」这个神奇的新东西,华为将其称作是「Android的性能革命」,并大方地将其开源,希望App的开发者们都能用到它。 这项技术已经被华为纳入了EMUI9.1,能够升级到EMUI9.1的用户都可以享受到它带来的性能提升。网络上已经有不少的网友用正常版本的微博和方舟编译器编译的微博进行了对比,二者的启动速度、滑动的跟手性等都有明显的区别。 在进行今天的文章前,笔者先和大家普及一下现有Android应用运行的工作机制、原理。 Android所有的应用在编译打包的时候实际上是都打包成了字节码,而我们的手机CPU并不认识字节码,它们只认识机器码。于是我们需要在App和CPU之间添加一位「翻译」,App才能够正常执行。 这和一些Java应用需要通过JVM执行类似,在Android中,App需要依赖Dalvik才能执行。 在Android4.x时代,系统都采用的动态解释执行+JIT这一套方案来执行App,即App的字节码会在运行时由Dalvik虚拟机直接解释成机器码执行,或通过JIT即时编译成机器码执行。 这是典型的「边解释边执行」模式,华为在发布华为方舟编译器的时候也提到了这点。 Android5.x开始,Google对App的执行模式进行了优化,引入ART取代古老的、缓慢的Dalvik。 |