ART虚拟机将如何影响现有应用程序?

奥沙伊尔甘

到目前为止,这还不是编程问题或问题(至少目前对我而言不是),但是我认为讨论此问题可能会有所帮助,这有助于我们预防可能遇到的其他问题。

自从将Nexus 5中的虚拟机从Dalvik更改为ART以来,我开始遇到设备中当前存在的应用程序崩溃的情况。我首先通过WhatsApp应用程序意识到了这一点。它停止工作了。

我开始测试所有应用程序与ART的兼容性。到目前为止,我还没有发生任何崩溃,但我想知道是否需要做点什么,以使我们的应用与ART更加兼容并提高效率?它将如何影响我们现有的应用程序?

常用软件

罗伯特·洛夫(Robert Love)在Quora回答中提供了一些细节

根据我所看到的,我的猜测是,如果ART不支持,那么不兼容的主要原因将是即时生成DEX。随着ART切换到提前(AOT)编译模型而不是JIT,ART可能不支持生成DEX指令的应用程序。这也可能是进行中的ART的限制,将在以后的更新中对此进行纠正。

可以想象,引用的“改进的垃圾收集”可能会导致不兼容,但这会让我感到惊讶。GC行为的变化更有可能暴露出先前的GC方案掩盖的现有应用程序逻辑缺陷。

当然,随着时间的流逝,可能还会出现其他特定于ART的问题。

话虽这么说,但请记住,ART是一项正在进行中的工作。我的猜测是Google发布它的主要目的是为WhatsApp和类似的较大合作伙伴提供一个基于ART的运行时环境。如果您尝试运行您的应用程序,并且您的应用程序在ART上中断,则可能值得进行一些调查。但是,如果您的应用程序在ART上运行良好,则可能仍然可以正常运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Rails应用程序将现有虚拟机与dropmain.rb配合使用?

来自分类Dev

有什么方法可以在应用程序内部的虚拟机中运行Linux?

来自分类Dev

.NET应用程序使用在Linux(虚拟机)上运行的Redis数据库

来自分类Dev

如何分析在KVM guest虚拟机中运行的应用程序

来自分类Dev

在现有存储帐户中创建虚拟机

来自分类Dev

如何将Azure虚拟机规模集部署到现有虚拟网络?

来自分类Dev

在Windows Azure虚拟机VM上安装FTP应用程序FileZilla Server

来自分类Dev

GPU会使虚拟机中的应用程序更快吗?

来自分类Dev

虚拟机在打开应用程序时出现问题

来自分类Dev

如何从互联网连接虚拟机中的快速应用程序?

来自分类Dev

大型虚拟机磁盘如何影响SSD寿命

来自分类Dev

如何在现有的虚拟机中创建虚拟监视器

来自分类Dev

如何在VirtualBox中导入现有的.vbox虚拟机?

来自分类Dev

如何从虚拟机引导现有的OS /磁盘?

来自分类Dev

使现有虚拟机不可变

来自分类Dev

从Lubuntu切换到Mac:如何导入现有虚拟机?

来自分类Dev

当应用程序停止运行时退出虚拟机

来自分类Dev

修改Dalvik虚拟机以拦截应用程序代码的方法

来自分类Dev

无法启动我的Android应用程序。“关闭虚拟机”错误

来自分类Dev

.NET应用程序使用在Linux(虚拟机)上运行的Redis数据库

来自分类Dev

在应用程序之间共享虚拟机

来自分类Dev

Openstack热与Ansible。虚拟机启动和应用程序部署

来自分类Dev

Wine或虚拟机(VirtualBox)来运行应用程序(例如Photoshop)

来自分类Dev

如何设置防火墙以测试虚拟机中的Web应用程序?

来自分类Dev

如何将Azure虚拟机规模集部署到现有虚拟网络?

来自分类Dev

GPU 会使虚拟机中的应用程序更快吗?

来自分类Dev

在容器中运行 Spring Boot 应用程序?还是虚拟机?还是虚拟机内的容器?

来自分类Dev

有没有办法在没有 Wine 或虚拟机的情况下在 Ubuntu 上运行 Windows 应用程序?

来自分类Dev

如何将 Kubernetes 集群应用于现有的 azure 虚拟机

Related 相关文章

  1. 1

    如何使用Rails应用程序将现有虚拟机与dropmain.rb配合使用?

  2. 2

    有什么方法可以在应用程序内部的虚拟机中运行Linux?

  3. 3

    .NET应用程序使用在Linux(虚拟机)上运行的Redis数据库

  4. 4

    如何分析在KVM guest虚拟机中运行的应用程序

  5. 5

    在现有存储帐户中创建虚拟机

  6. 6

    如何将Azure虚拟机规模集部署到现有虚拟网络?

  7. 7

    在Windows Azure虚拟机VM上安装FTP应用程序FileZilla Server

  8. 8

    GPU会使虚拟机中的应用程序更快吗?

  9. 9

    虚拟机在打开应用程序时出现问题

  10. 10

    如何从互联网连接虚拟机中的快速应用程序?

  11. 11

    大型虚拟机磁盘如何影响SSD寿命

  12. 12

    如何在现有的虚拟机中创建虚拟监视器

  13. 13

    如何在VirtualBox中导入现有的.vbox虚拟机?

  14. 14

    如何从虚拟机引导现有的OS /磁盘?

  15. 15

    使现有虚拟机不可变

  16. 16

    从Lubuntu切换到Mac:如何导入现有虚拟机?

  17. 17

    当应用程序停止运行时退出虚拟机

  18. 18

    修改Dalvik虚拟机以拦截应用程序代码的方法

  19. 19

    无法启动我的Android应用程序。“关闭虚拟机”错误

  20. 20

    .NET应用程序使用在Linux(虚拟机)上运行的Redis数据库

  21. 21

    在应用程序之间共享虚拟机

  22. 22

    Openstack热与Ansible。虚拟机启动和应用程序部署

  23. 23

    Wine或虚拟机(VirtualBox)来运行应用程序(例如Photoshop)

  24. 24

    如何设置防火墙以测试虚拟机中的Web应用程序?

  25. 25

    如何将Azure虚拟机规模集部署到现有虚拟网络?

  26. 26

    GPU 会使虚拟机中的应用程序更快吗?

  27. 27

    在容器中运行 Spring Boot 应用程序?还是虚拟机?还是虚拟机内的容器?

  28. 28

    有没有办法在没有 Wine 或虚拟机的情况下在 Ubuntu 上运行 Windows 应用程序?

  29. 29

    如何将 Kubernetes 集群应用于现有的 azure 虚拟机

热门标签

归档