华硕 Zenfone2

  • 搭载英特尔®Atom™ 64位处理器
  • 5.5寸屏幕
  • 1920x1080分辨率
  • 1300万像素PixelMaster相机

宏基 Iconia Tab 8

  • 搭载英特尔®Atom™ 64位处理器
  • 8寸屏幕
  • 1920x1200分辨率
  • 2G内存,7.5小时长时间续航

提供长达30分钟兼容性测试
遇到系统或设备问题时,可分享测试结果给厂商排查

Q:Android应用跑在x86架构上是否有兼容性问题?

A:

大部分Android应用都使用基于Dalvik Java代码开发。理论上,由于Dalvik代码在系统的虚拟机中执行,在x86的ATOM平台上不会有性能损失。但由于虚拟机执行效率的有限,对于一些高性能追求的应用,谷歌允许开发者使用原生的C语言代码。而原生代码是针对硬件平台编译,x86,ARM或是MIPS都有其相应的二进制文件。通常来说,针对ARM平台编译的二进制代码,x86的处理器是无法直接运行的,需要重新编译一份x86库文件。

Q:移植应用到x86架构时有什么要注意的地方?

A:

  1. 在ARM和x86之间移植C/C++代码时可能出现内存对齐不匹配的情况。以下文章针对这一点提供了一个典型的示例:
    https://software.intel.com/en-us/blogs/2011/08/18/understanding-x86-vs-arm-memory-alignment-on-android
  2. 您的构建环境有可能直接使用了工具链,而不是 Android构件脚本。
    在 ARM中,所用的路径如下:android-ndk\toolchains\arm-linux-androideabi-4.4.3
    x86所用的路径:android-ndk\toolchains\x86-4.4.3
  3. 如果您的应用使用了汇编指令,请不要使用特定于ARM的指令集

更多兼容性问题 >>