我应该选择x86_64进行测试而不是"推荐"的x86用于虚拟设备系统映像吗?

jam*_*gni 20 android android-studio-3.0

我是Android编程的新手.我在带有Haswell处理器的桌面上的Kubuntu Xenial 64位上运行Android Studio 3.0.1.

我正在配置虚拟设备.我正在考虑与我拥有的物理Android设备相对应.但是,我注意到x86图像放在"推荐"窗格中:

在此输入图像描述

与相同API版本和目标的x86_64图像相比:

在此输入图像描述

https://developer.android.com/studio/run/managing-avds.html#createavd的#4 似乎表明推荐使用x86图像,因为它们"在模拟器中运行速度最快".

我的一些旧设备是x86,但较新的设备是x86_64.我应该相应地选择x86_64,尽管它不在"推荐"窗格中吗?

这将在我将来在Google Play商店发布APK时有所作为吗?

Naw*_*rez 7

与此答案相关,默认情况下,所有32位应用程序在64位处理器上运行时都不会出现故障,但运行速度可能比调整为在64位处理器上运行的应用程序要慢。

并根据这篇文章

借助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位环境的体系结构优势

具有基于Intel Atom处理器平台的64位技术的Android 现在可以帮助开发人员优化其应用程序。为64位构建Android应用程序与构建传统的32位Android应用程序一样容易。现在,您可以使用官方的Android 64位仿真器来运行和调试64位应用程序。

也许本文可以帮助您了解此系统映像之间的区别。

更新资料

Google现在鼓励使用x86模拟器,就像您在此图中看到的一样

在此处输入图片说明

区别在于,当使用x86映像时,它现在在适当的条件下(HAXM)使用了快速的,硬件加速的虚拟化,因此不再有多余的中间层。

  • 据我了解,“基于x86”的建议与完全基于非Intel的仿真器形成对比,而不是它比使用64位快10倍。 (6认同)
  • @buncis 否。根据迄今为止此处共享的信息,尚不清楚 x86 和 x86_64 哪一个在 x86_64 开发计算机上运行得更快。 (5认同)
  • 所以 tl;dr 是我们应该使用 x86 而不是 x86_64 对吗? (2认同)