我不是完全家喻户晓的,如何在实践中

Android上的Dalvik JIT工作,因为JIT有几个选择可以如何工作.

第一个选择是,在应用程序启动时,JIT将所有字节码转换为CPU指令.此选项在应用程序启动之前花费了一段时间,该应用程序可以以本机运行.问题是,翻译的应用程序在启动过程中必须保持内存,这不是很好.

第二个选择是,JIT作为真正的即时即时,这意味着即将推出的代码块.整个应用程序没有在启动时被翻译,但只有主要功能在启动时被翻译,然后在运行期间被翻译,当使用某些代码块(功能等)时.此选项消耗的内存较少,但运行时应用程序的速度要慢得多.

根据我发现的信息,Android使用第一个选项.应用程序在启动时被翻译,之后它几乎“运行”.而这个“几乎”是JIT和AOT之间的主要区别.

当您即将推出一些应用程序时,JIT只需要有限的时间将所有字节码编译为CPU指令,使发射延迟“可接受”长.这意味着它只能执行基本的优化.但是,当您安装某些应用程序时,您通常会花更多的时间来浪费时间,而您只做一次,而不是每次启动.这意味着AOT编译器有更多的时间来找到如何优化该应用程序的技巧.结果代码应该更“有效”.第二个好处是,编译的应用程序被存储到缓存中,并且只有其中的一部分可以在启动时加载到内存中.这意味着操作系统没有将整个代码保存在内存中并可以保存.这是主要的区别.

最后一部分的问题 – Android上的ART将安装(在将apk保存到/ data / app /之后)进行编译.但是,如果您擦除该缓存,或从Dalvik切换到ART,它将在第一次启动时编译所有已安装的应用程序,这可能需要10分钟甚至更长时间.

对我的坏英文也很抱歉,我是捷克语:-)

aot android,android – JIT与AOT编译相关推荐

  1. android将引入aot编译器,JIT与AOT编译模式

    JIT,即Just-in-time,动态(即时)编译,边运行边编译: AOT,Ahead Of Time,指运行前编译,是两种程序的编译方式 JIT ​ JIT,即"Just In Time ...

  2. android odex版本调试_android 基础-Dalvik ,ART,JIT,AOT,Dex,Odex

    Dalvik 和 ART Dalvik:Dalvik 虚拟机,android 5.0 以前所使用的虚拟机,可执行文件为 dex 格式,基于寄存器的虚拟机(jvm 基于堆栈).通过 dx 工具将 .cl ...

  3. JIT和AOT编译详解

    JIT和AOT编译介绍 JIT - Just-In-Time             实时编译,即时编译 通常所说的JIT的优势是Profile-Based Optimization,也就是边跑边优化 ...

  4. Angular 2 JIT vs AOT

    转载于:https://segmentfault.com/a/1190000008739157 在 Angular 应用程序中,包含了我们通过 Angular 提供的 API 实现的自定义指令.这些自 ...

  5. JIT VS AOT

    一.AOT,JIT是什么 JIT,即Just-in-time,动态(即时)编译,边运行边编译:AOT,Ahead Of Time,指运行前编译,是两种程序的编译方式 理解 jit.aot 程序主要有两 ...

  6. angular jit and aot

    为什么需要编译 Angular应用中包含的组件.HTML模板(比如:@Directive.@Component.@NgModule.@Pipe)很多都是JS VM无法解析的,所以在浏览器渲染应用之前, ...

  7. java jit aot_对比JIT和AOT,各自有什么优点与缺点?

    JIT:吞吐量高,有运行时性能加成,可以跑得更快,并可以做到动态生成代码等,但是相对启动速度较慢,并需要一定时间和调用频率才能触发 JIT 的分层机制 AOT:内存占用低,启动速度快,可以无需 run ...

  8. 【JAVA】JIT和AOT

    JIT和AOT 目前,程序主要有两种运行方式:静态编译与动态解释. 静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为AOT (Ahead of time)即 "提前编译" ...

  9. Java在云原生的破局利器——AOT(JIT与AOT)

    导读 JIT(Just-in-Time,实时编译)一直是Java语言的灵魂特性之一,与之相对的AOT(Ahead-of-Time,预编译)方式,似乎长久以来和Java语言都没有什么太大的关系.但是近年 ...

最新文章

  1. Codeforces Round #323 (Div. 2) A. Asphalting Roads
  2. linux下编译动态和静态链接库
  3. Spring Aop----用idea实现面向切面编程
  4. C#只能lock 引用类型的值 (转载)
  5. Android实现双击事件的两种方式
  6. Python3 os模块应用
  7. Weblogic常见配置
  8. MyBatis-学习笔记09【09.Mybatis的多表操作】
  9. SAP Commerce Cloud WCMS 里的 home 页面和 SAP Spartacus Page API 返回的数据比较
  10. 大数据学习——免密登录配置
  11. 在Linux系统环境下修改MySQL的root密码
  12. php语法------04 php内置函数之与页面表单请求相关的内置函数对象
  13. 超级列表框排序mysql_超级列表框排序
  14. linux WIFI命令iwlist、iwconfig、iwpriv
  15. 【宋红康 MySQL数据库 】【高级篇】【01】CentOS7下MySQL的安装与使用
  16. 光纤通道网络FC vs 以太网光纤通道FCoE
  17. Eclipse中将package,folder,source folder相互转换
  18. 虚拟机导致无法上网_虚拟机无法上网问题解决方法
  19. PXE+pxelinux+binlsrv+tftpd32远程安装windows 2003及心得
  20. 人工神经网络设计选择题,人工神经网络设计原则

热门文章

  1. 【法律】如何保障企业的合法权益:保密协议模板
  2. 51单片机函数发生器
  3. Python 中 pip无法下载问题
  4. 谷歌员工分享的关于李开复先生的小故事
  5. 【Flink】did not react to cancelling signal for 30 seconds Task did not exit gracefully within
  6. 设置页面图标和动态title
  7. VC动态更改窗口图标
  8. java 文件及流读取
  9. 我的新浪博客-软件测试
  10. 轻量级插件ResourceChecker