我正在使用Android SDK Manager为Android M预览版安装系统映像。但是,我注意到x86平台有两个单独的映像。
两者之间有什么区别,我应该为64位Ubuntu 15.04安装选择哪一个?(我的CPU包括AMD-V,并且在BIOS中启用了AMD-V,以防万一。)
我正在使用Android SDK Manager为Android M预览版安装系统映像。但是,我注意到x86平台有两个单独的映像。
两者之间有什么区别,我应该为64位Ubuntu 15.04安装选择哪一个?(我的CPU包括AMD-V,并且在BIOS中启用了AMD-V,以防万一。)
Answers:
根据这篇文章
借助Google最近发布的x86 64位Android 5.0仿真器映像,开发人员可以为基于Intel Atom处理器的设备创建64位应用程序。
Android 32位与64位
当今许多64位平台(包括Solaris,AIX *,HP-UX *,Linux *,OS X *,BSD和IBM z / OS *)都使用LP64模型。由于Android基于Linux内核,因此Android 64位平台也使用LP64模型。
英特尔64位CPU具有32位兼容模式。虽然32位应用程序将在64位处理器上运行,但是使用64位优化编译器进行编译可以使他们利用64位环境的体系结构优势。
如何在模拟器上运行64位应用程序
基于Intel Atom处理器64位系统映像创建新的Android虚拟设备(AVD),然后在SDK Manager或ADT中打开AVD Manager。然后单击“创建”并填充如图所示的字段。现在,可以运行64位AVD仿真器。
默认情况下,所有32位应用程序在64位处理器上运行时都不会出现故障,但运行速度可能比调整为在64位处理器上运行的应用程序慢。
从32位芯片过渡到64位芯片的主要好处之一,目前基本上是理论上的:支持EB级的内存,而不只是GB的内存。但是64位芯片处理内存的方式也可以提高某些任务的性能。
摘要
具有基于Intel Atom处理器平台的64位技术的Android 现在可以帮助开发人员优化其应用程序。为64位构建Android应用程序与构建传统的32位Android应用程序一样容易。现在,您可以使用官方的Android 64位模拟器来运行和调试64位应用程序。
也许本文可以帮助您了解此系统映像之间的区别。
更新资料
Google现在鼓励使用x86模拟器,就像您在此图中看到的一样
区别在于,当使用x86映像时,它现在在适当的条件下(HAXM)使用了快速的,硬件加速的虚拟化,因此不再有多余的中间层。
intel x86 atom system image
在通过AVD开发期间使用@Jorge Casariego 来提高模拟器速度吗?
仅供参考:在官方的Android Studio 文档中,它说“ x86系统映像在模拟器中运行最快”。
我还没有尝试过64位,所以我不能对此发表评论。也许别人可以。
我已经尝试过,并且x86_64恰好比x86慢一点。经过一些研究,我发现x86可以在基于32位的指令集和基于64位的指令集上运行,而x86_64只能在64位的指令集上运行,这需要更多的解码...
您还可以在此处查看https://developer.android.com/ndk/guides/x86-64.html 了解更多信息。
x86表示32位系统。现在,我已阅读以上所有答案,我将直接指出重点。
x86 Atom->具有32位android仿真的32位Intel CPU
x86 Atom_64->具有64位android仿真的32位Intel CPU