Android 面试之必问高级知识点

Posted xiangzhihong8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 面试之必问高级知识点相关的知识,希望对你有一定的参考价值。

Android 面试之必问Java基础
Android 面试之必问Android基础知识

1,编译模式

1.1 概念

android早期的版本中,应用程序的运行环境是需要依赖Dalvik虚拟机的。不过,在后来的版本(大概是4.x版本),Android的运行环境却换到了 Android Runtime,其处理应用程序执行的方式完全不同于 Dalvik,Dalvik 是依靠一个 Just-In-Time (JIT) 编译器去解释字节码。

不过,Dalvik模式下,开发者编译后的应用代码需要通过一个解释器在用户的设备上运行,这一机制并不高效,但让应用能更容易在不同硬件和架构上运 行。ART 则完全改变了这套做法,在应用安装时就预编译字节码到机器语言,这一机制叫 Ahead-Of-Time (AOT)编译。在移除解释代码这一过程后,应用程序执行效率更高、启动也更快。

1.2 AOT优点

下面是AOT编译方式的一些优点:

1.2.1 预先编译

ART 引入了预先编译机制,可提高应用的性能。ART 还具有比 Dalvik 更严格的安装时验证。在安装时,ART 使用设备自带的 dex2oat 工具来编译应用。该实用工具接受 DEX 文件作为输入,并为目标设备生成经过编译的应用可执行文件,

以上是关于Android 面试之必问高级知识点的主要内容,如果未能解决你的问题,请参考以下文章

Android 面试之开源库分析

Android 面试之开源库分析

Android 面试之必问Android基础

一位30K大佬的面试经验!安卓高级开发岗必问知识点,趁面试赶紧收藏

Android 面试之必问性能优化

Android 面试之必问性能优化