方舟编译器适配过的应用对其他机型有用吗?

美帝良心想倒闭了


被华为方舟编译器编译过的应用,你理解成这个应用“多了一项本领”就可以了,因为不影响应用原来已具备的本领,所以不影响应用适配其他机型。

方舟编译器编译过的应用有何不同?

  • 应用安装包变大了。

  • 具备了一个重要的语言能力。

  • 应用响应速度更快了。

  • 应用流畅度更高了。

这个很重要的“语言能力”是什么?

这个语言能力就是“静态编译能力”

什么是“静态编译能力“?

为了方便理解,在解释“静态编译”之前,先谈谈“动态编译”。

  • 安卓之前的工作流为“操作指令 > VM编译成机器码 > 机器执行指令。这个“边编译,边执行”的过程就叫“动态编译”,这也是安卓会出现卡顿的重要原因之一,就像同声传译,需要听一句,翻译一句,听众听到的会是断断续续的。

  • 被华为方舟编译器编译后,安卓的工作流变成了“操作指令 > 机器执行指令”,那么有的友友会问“难道不需要编译了?”其实,在采用方舟编译器的过程,就是对应用的编译过程,也就是应用在开发解决就完成了编译工作,所以在实际执行指令过程中,不需要在边编译边执行了,因此方舟编译器的编译过程叫“静态编译”。

因此方舟编译器只是给应用输入了一项能与机器直接对话的语言能力,也就是给演讲者输入了外语能力,不需要同声传译了,这时候听众听到的是连贯的声音。因为演讲者其他的能力不变,所以不影响应用的功能和适配机型。


每天学点手机技巧


理论上,方舟编译器适配过的应用,将适用于如何一款安卓手机的机型,前提是这款机型支持方舟编译器的应用。



因为是应用级的改造,也就是这款软件自身内部代码结构已经变了,那么放在什么地方运行只是平台的问题,安卓本来就是基于Java开发的技术,毫无疑问是跨平台的。

因此无论是在什么安卓手机上,只要支持这款软件应用的安装,那么经过适配的软件是可以正常运行的。

还有一点,为什么强调安卓手机,因为苹果的iOS系统不一样,如果是适配了华为的方舟编译器,理论上只是适配了安卓软件,并没有把如何系统的软件都进行适配,一般软件在iOS上要重新开发一套软件,因此很多游戏都会区分安卓区和苹果区。

好了,今天就科普到这里,欢迎关注一名热心有料的软件工程师:“极客宇文氏”。


极客宇文氏


有用。方舟改变的是android的运行方式和安装方式,直接执行二进制文件的速度肯定比现在变编译边执行的方式要快得多。而且这个是平台决定的,和机型本身无关,不过需要开发者提供支持,有点类似pc平台上对编译器的支持一样,在打包的时候需要添加对方舟的支持并作为主要编译器。这个可能还是需要开发者下一些功夫的,因为有些机型可能并不适合完全存储二进制文件,所以给用户选择会好一些。


分享到:


相關文章: