2015-06-03 3 views
59

Я использую Android SDK Manager для установки образа системы для Android M Preview. Однако я заметил, что для платформы x86 есть два отдельных изображения.В чем разница между системными изображениями Intel x86 Atom и Atom_64?

enter image description here

Каковы различия между ними, и которые один я должен выбрать для моей 64-битной Ubuntu 15.04 установки? (Мой процессор включает AMD-V и она включена в BIOS, в случае, если это делает никакой разницы.)

+5

AFAIK, это просто, что они эмулируют различные архитектуры процессоров, как ARM, ARM64, MIPS и т. Д. – CommonsWare

+2

Не имеет значения, какую машину вы используете в качестве своей IDE. Это связано с тем, какое оборудование вы эмулируете. Таким образом, изображения Atom vs Atom_64 состоят в том, хотите ли вы эмулировать запуск своего приложения на устройстве с процессором Atom или 64-разрядным процессором Atom. – hungryghost

+2

Похоже, что это 32-битное изображение ЦП, а другое - 64-битное, –

ответ

47

Согласно с этим article

С недавним выпуском Google, его x86 64-битного Android 5.0 эмулятора , разработчики могут создавать 64-разрядные приложения для процессоров Intel Atom .

Android 32-бит против 64-бит

Многие 64-разрядные платформы сегодня, в том числе Solaris, AIX *, HP-UX *, Linux *, OS X * BSD, и IBM z/OS *, используйте модель LP64. Поскольку Android основан на на ядре Linux, на 64-битных платформах Android также используется модель LP64.

64-разрядные процессоры Intel имеют 32-разрядный режим совместимости. В то время как 32-разрядные приложения будут работать на 64-разрядных процессорах, компиляция с 64-разрядным оптимизационным компилятором позволяет им использовать преимущества архитектуры 64-разрядной архитектуры.

Как запустить 64-битные приложения на эмуляторы

Создать новый Android виртуальное устройство (AVD), основанный на Intel процессор Atom 64-битной системы изображения и откройте диспетчер АВД в диспетчере SDK или ADT , Затем нажмите «создать» и заполните поля, как показано на рисунке. Теперь 64-битный эмулятор AVD готов к запуску.

enter image description here

64-Bit Android* OS

По умолчанию, все 32-битные приложения работают без сбоев на 64-разрядных процессоров, но может работать медленнее, чем приложения, настроенных для работы на 64-разрядных процессоров.

Android is ready for 64-bit processing

Одним из ключевых преимуществ перехода от 32-битной на 64-битных чипов в основном теоретический прямо сейчас: поддержка для эксабайтов оперативной памяти, а , чем просто гигабайты. Но способ, которым 64-битные чипы обрабатывают память, также может привести к повышению производительности в некоторых задачах.

Резюме

Android с 64-битных технологий Intel Atom на базе процессоров платформы могут помочь разработчикам оптимизировать свои приложения в настоящее время. Создание Android-приложений для 64-разрядных приложений так же просто, как и создание традиционных 32-разрядных приложений для Android. Теперь вы можете использовать официальный 64-разрядный эмулятор Android для запуска и отладки 64-разрядных приложений.

Возможно, эти статьи помогут вам понять разницу между этими системными изображениями.

Update

Google в настоящее время поощряют использовать эмулятор x86, как вы можете видеть в этом образе

enter image description here

Разница заключается в том, что при использовании х86 изображений, теперь он использует быстро, Оборудование- ускоренную виртуализацию при правильных условиях (HAXM), поэтому он не чувствует, что есть жирный средний слой.

+1

Вы упомянули приложения, которые «компилируются с помощью 64-битного оптимизирующего компилятора». Итак, как скомпилировать мое приложение с 64-разрядным компилятором и получить преимущество при работе в 64-битной среде? –

+3

@Jorge Casariego должен ли мы использовать 'intel x86 atom system image' во время разработки AVD для лучшей скорости эмулятора? –

9

FYI: В официальной студии Android documentation говорится, что «системные образы x86 работают быстрее всех в эмуляторе».

Я не пробовал 64-битную, поэтому я не могу прокомментировать это. Может быть, кто-то другой может.

2

Я пробовал оба, и x86_64 бывает немного медленнее, чем x86. то, что я узнал после того, как мало исследований, в том, что x86 может работать на 32-битной основе набора команд и 64 бит на основе в то время как x86_64 работает только на 64 бита, который нуждается в somekind большего декодирования ...

вы также можете проверить здесь https://developer.android.com/ndk/guides/x86-64.html для получения дополнительной информации ..