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

Android ART虚拟机将如何影响现有应用程序?,android,virtual-machine,dalvik,Android,Virtual Machine,Dalvik,到目前为止,这不是一个编程问题或问题(至少目前对我来说不是),但我认为讨论这个问题可能会有帮助,这可以帮助我们防止可能出现的进一步问题 自从我将Nexus5中的虚拟机从Dalvik改为ART后,我的设备中的应用程序开始崩溃。我最初是通过WhatsApp应用程序实现的。它停止工作了 我开始测试我所有的应用程序是否与ART兼容。到目前为止,我还没有遇到任何崩溃,但我想知道我们是否需要做些什么,使我们的应用程序更兼容ART,更高效?它将如何影响我们现有的应用程序?目前,在让你的应用程序兼容方面没有什么

到目前为止,这不是一个编程问题或问题(至少目前对我来说不是),但我认为讨论这个问题可能会有帮助,这可以帮助我们防止可能出现的进一步问题

自从我将Nexus5中的虚拟机从Dalvik改为ART后,我的设备中的应用程序开始崩溃。我最初是通过WhatsApp应用程序实现的。它停止工作了


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

目前,在让你的应用程序兼容方面没有什么可做的,因为艺术是一项正在开发的工作,因此一些应用程序会出现问题,当艺术变得标准化时,它将只是“工作”,任何与这一事实相矛盾的事情,谷歌将发布相应的修复文档。

目前,在让你的应用程序兼容方面没有什么可做的,艺术是一项正在开发的工作,因此一些应用程序会出现问题,当艺术变得标准化的时候,它只会“起作用”,这与事实有任何矛盾,谷歌将发布相应的修复文档。

罗伯特·洛夫(Robert Love)在Quora的回答中提供了答案

根据我所看到的,我的猜测是,如果艺术不支持的话,导致艺术不兼容的主要原因将是动态的DEX一代。随着ART切换到提前(AOT)编译模型,而不是JIT,ART可能不支持生成DEX指令的应用程序。这也可能是在建工程艺术的一个局限性,将在稍后的更新中予以纠正

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

当然,随着时间的推移,可能还会出现其他与艺术相关的问题

尽管如此,请记住,艺术是一项正在进行的工作。我的猜测是,谷歌发布它主要是为了为WhatsApp和类似的大型合作伙伴提供一个以艺术为动力的运行时环境。如果你试着运行你的应用程序,而你的应用程序违反了艺术,这可能值得进行一些调查。然而,如果你的应用程序在艺术方面表现良好,它很可能会保持良好状态。

罗伯特·洛夫在Quora的回答中提供了答案

根据我所看到的,我的猜测是,如果艺术不支持的话,导致艺术不兼容的主要原因将是动态的DEX一代。随着ART切换到提前(AOT)编译模型,而不是JIT,ART可能不支持生成DEX指令的应用程序。这也可能是在建工程艺术的一个局限性,将在稍后的更新中予以纠正

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

当然,随着时间的推移,可能还会出现其他与艺术相关的问题


尽管如此,请记住,艺术是一项正在进行的工作。我的猜测是,谷歌发布它主要是为了为WhatsApp和类似的大型合作伙伴提供一个以艺术为动力的运行时环境。如果你试着运行你的应用程序,而你的应用程序违反了艺术,这可能值得进行一些调查。但是,如果你的应用程序在艺术方面表现良好,它很可能会保持良好状态。

当你投反对票时,你需要解释原因!当你投反对票时,你需要解释原因!