美文网首页Android开发Android开发Android技术知识
史上最全的Android 虚拟机面试题集锦

史上最全的Android 虚拟机面试题集锦

作者: 像程序那样思考 | 来源:发表于2019-07-24 14:50 被阅读6次

    前言

    很多人面试之前,可能没有在互联网公司工作过或者说工作过但年头较短,不知道互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。

    下述是我收录整理的Android面试题汇总,由于篇幅原因,在这只把虚拟机部分的题目列举出来,后续还会更新其余面试题内容,大家可以关注一下我,及时知晓我更新的知识点,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以帮忙转发分享下,点个赞~

    Android Dalvik虚拟机和ART虚拟机对比

    Dalvik

    Android4.4及以前使用的都是Dalvik虚拟机,我们知道Apk在打包的过程中会先将java等源码通过javac编译成.class文件,但是我们的Dalvik虚拟机只会执行.dex文件,这个时候dx会将.class文件转换成Dalvik虚拟机执行的.dex文件。Dalvik虚拟机在启动的时候会先将.dex文件转换成快速运行的机器码,又因为65535这个问题,导致我们在应用冷启动的时候有一个合包的过程,最后导致的一个结果就是我们的app启动慢,这就是Dalvik虚拟机的JIT特性(Just In Time)。

    ART

    ART虚拟机是在Android5.0才开始使用的Android虚拟机,ART虚拟机必须要兼容Dalvik虚拟机的特性,但是ART有一个很好的特性AOT(ahead of time),这个特性就是我们在安装APK的时候就将dex直接处理成可直接供ART虚拟机使用的机器码,ART虚拟机将.dex文件转换成可直接运行的.oat文件,ART虚拟机天生支持多dex,所以也不会有一个合包的过程,所以ART虚拟机会很大的提升APP冷启动速度。

    ART优点:

    加快APP冷启动速度

    提升GC速度

    提供功能全面的Debug特性

    ART缺点:

    APP安装速度慢,因为在APK安装的时候要生成可运行.oat文件

    APK占用空间大,因为在APK安装的时候要生成可运行.oat文件

    arm处理器

    这里对之前的同一系列做一下总结

    熟悉Android性能分析工具、UI卡顿、APP启动、包瘦身和内存性能优化

    熟悉Android APP架构设计,模块化、组件化、插件化开发

    熟练掌握Java、设计模式、网络、多线程技术

    以上就是Android 虚拟机的面试题目,后续还会更新其余面试题内容,大家可以关注一下我,及时知晓我更新的知识点,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以帮忙转发分享下,点个赞~

    Android架构师之路很漫长,一起共勉吧!
    ——————分割线——————
    简书点赞可以有好几种赞,长按点赞按钮就会有选项,大家点赞的时候,麻烦点个超赞~在这先谢谢您的支持啦!

    相关文章

      网友评论

        本文标题:史上最全的Android 虚拟机面试题集锦

        本文链接:https://www.haomeiwen.com/subject/zlsxrctx.html