全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 学道会
549 1
2019-08-08
1.方舟本质上不仅仅是一个编译器,而是一个编译系统,它需要通过用户终端和开发者的共同支持。对于华为手机用户来说,华为在手机终端中已经用方舟编译器替代了 Android system-server 的所有后台服务,这一项就已经足够让华为 EMUI 比其他 Android 系统更快一步——根据华为官方测试,方舟编译器提升手机系统操作流畅度高达 24%,系统响应性能提升 44%。
2.目前全世界的多种编程语言中,Android 操作系统采用的是 Java 语言。它的一个重点特点就是可以跨平台操作,而且需要借助虚拟机机制来解释源代码并调度硬件资源;但同时 Java 是一种预编译语言,需要先在开发者环境中将源代码(Source Code)转换成字节码(Byte Code),然后在设备上运行时再将字节码编译或解释成硬件能听得懂的机器码。
3.从 Java 的字节码到机器码,中间需要两样东西:
虚拟机和翻译器。
4.其目的是绕过 Android 操作系统中 App 的运行所必须依赖的虚拟机,将 Java/C/C++ 等混合代码一次编译成机器码直接在手机上运行,彻底告别 Java 的 JNI 额外开销,也彻底告别了虚拟机的 GC 内存回收带来的应用进程掉线——从而最终实现 Android 操作系统的流畅度。
5.面对现有的 Android 系统在代码编译、运行、IR、内存回收等四个层面的问题,华为方舟编译器分别给出了自己的解决方案,这其中的核心创新点是混合语言的统一中间表示和完全静态编译,但更重要的是华为在解决 Android 操作系统 App 运行问题的崭新思路,以及为了实现这种思路而敢于大力投入的勇气。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-8-8 21:02:18
充实训练营作业奖!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群