我正在使用 Android SDK Manager 为 Android M Preview 安装系统映像。但是,我注意到 x86 平台有两个单独的图像。
两者之间有什么区别,我应该为我的 64 位 Ubuntu 15.04 安装选择哪一个?(我的 CPU 包括 AMD-V,它在 BIOS 中启用,以防万一。)
我正在使用 Android SDK Manager 为 Android M Preview 安装系统映像。但是,我注意到 x86 平台有两个单独的图像。
两者之间有什么区别,我应该为我的 64 位 Ubuntu 15.04 安装选择哪一个?(我的 CPU 包括 AMD-V,它在 BIOS 中启用,以防万一。)
根据这篇文章
借助 Google 最近发布的 x86 64 位 Android 5.0 仿真器映像,开发人员可以为基于英特尔凌动处理器的设备创建 64 位应用程序。
Android 32 位与 64 位
当今的许多 64 位平台,包括 Solaris、AIX*、HP-UX*、Linux*、OS X*、BSD 和 IBM z/OS*,都使用 LP64 模型。由于 Android 基于 Linux 内核,Android 64 位平台也使用 LP64 模型。
Intel 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 的 RAM,而不仅仅是 GB。但 64 位芯片处理内存的方式也可以提高某些任务的性能。
概括
基于英特尔凌动处理器的平台采用 64 位技术的 Android 现在可以帮助开发人员优化他们的应用程序。为 64 位构建 Android 应用程序与构建传统的 32 位 Android 应用程序一样简单。您现在可以使用官方的 Android 64 位模拟器来运行和调试 64 位应用程序。
也许这篇文章可以帮助您了解此系统映像之间的区别。
更新
谷歌现在鼓励使用 x86 模拟器,就像你在这张图片中看到的那样
不同之处在于,当使用 x86 映像时,它现在在适当的条件下使用快速、硬件加速的虚拟化 ( HAXM ),因此感觉不再有中间层。
仅供参考:在官方 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 -> 32bit Intel CPU with 32bit android 模拟
x86 Atom_64 -> 32bit Intel CPU with 64bit android 模拟