2015-06-03 7 views
59

Ich verwende den Android SDK Manager, um das Systemabbild für die Android M-Vorschau zu installieren. Ich habe jedoch festgestellt, dass es zwei separate Images für die x86-Plattform gibt.Was ist der Unterschied zwischen den Intel x86 Atom- und Atom_64-Systemabbildern?

enter image description here

Was sind die Unterschiede zwischen den beiden und welches sollte ich für meine 64-Bit-Ubuntu 15.04 Installation auswählen? (Meine CPU enthält AMD-V, und es wird im BIOS, falls aktiviert, die einen Unterschied macht.)

+5

AFAIK, es ist nur, dass sie verschiedene CPU-Architekturen emulieren, wie ARM, ARM64, MIPS, etc. – CommonsWare

+2

Es spielt keine Rolle, welche Maschine Sie als Ihre IDE verwenden. Dies hat damit zu tun, welche Hardware Sie emulieren. Die Atom vs Atom_64-Bilder sehen also vor, ob Sie das Ausführen Ihrer App auf einem Gerät mit einer Atom-CPU oder einer Atom 64-Bit-CPU emulieren möchten. – hungryghost

+2

Es sieht aus wie man ist ein 32-Bit-CPU-Image, und das andere ist ein 64-Bit-One, –

Antwort

47

Nach diesem article

Mit Google jüngste Version seiner x86 64-Bit-Android 5.0-Emulator Bild, Entwickler können 64-Bit-Anwendungen für Intel Atom Prozessor-basierte Geräte erstellen.

Android 32-Bit vs 64-Bit-

Viele 64-Bit-Plattformen heute, einschließlich Solaris, AIX *, HP-UX *, Linux *, OS X *, BSD, und IBM z/OS * verwenden Sie ein LP64-Modell. Da Android auf dem Linux-Kernel basiert, verwenden Android 64-Bit-Plattformen auch das LP64-Modell.

Intel 64-Bit-CPUs haben einen 32-Bit-Kompatibilitätsmodus. Während 32-Bit Anwendungen auf 64-Bit-Prozessoren ausgeführt werden, Kompilierung mit einem 64-Bit-Compiler optimiert können sie die Vorteile der Architektur Vorteile einer 64-Bit-Umgebung nutzen.

Wie 64-Bit-Anwendungen auf Emulatoren

Erstellen Sie ein neues Android virtuelles Gerät (AVD), basierend auf Intel Atom-Prozessor 64-Bit-System-Image und öffnen Sie den AVD-Manager in SDK-Manager oder ADT laufen . Klicken Sie dann auf "Erstellen" und füllen Sie die Felder wie in der Abbildung gezeigt. Jetzt kann der 64-Bit-AVD-Emulator ausgeführt werden.

enter image description here

64-Bit Android* OS

Standardmäßig werden alle laufen 32-Bit-Anwendungen ohne Pannen auf 64-Bit-Prozessoren, aber möglicherweise langsamer als Anwendungen abgestimmt laufen auf 64-Bit-Prozessoren laufen.

Android is ready for 64-bit processing

Einer der wichtigsten Vorteile der Bewegung von 32-Bit auf 64-Bit-Chips ist weitgehend theoretisch jetzt: Unterstützung für Exabyte RAM, eher als bloßen Gigabyte. Aber die Art und Weise, wie 64-Bit-Chips mit Speicher umgehen, kann auch zu einer verbesserten Leistung bei einigen Aufgaben führen.

Zusammenfassung

Android mit 64-Bit-Technologie für Intel-Atom-Prozessor-basierten Plattformen können Entwickler zu optimieren ihre Anwendungen jetzt. Das Erstellen von Android-Anwendungen für 64-Bit ist genauso einfach wie das Erstellen herkömmlicher 32-Bit-Android-Anwendungen. Sie können jetzt den offiziellen Android 64-Bit-Emulator zum Ausführen und Debuggen von 64-Bit-Apps verwenden.

Vielleicht können diese Artikel Ihnen helfen, den Unterschied zwischen diesen Systembildern zu verstehen.

aktualisieren

Google jetzt ermutigen x86-Emulator zu verwenden, wie Sie in diesem Bild

enter image description here

Der Unterschied sehen kann, ist, dass, wenn X 86 Bilder verwenden, verwendet es jetzt schnell, hardware- beschleunigte Virtualisierung unter den richtigen Bedingungen (HAXM), so dass es sich nicht mehr so ​​anfühlt, als gäbe es eine fette Mittelschicht.

+1

Sie erwähnten Anwendungen, die "kompilieren mit einem 64-Bit-Optimierung Compiler". Also, wie kompiliere ich meine Anwendung mit einem 64-Bit-Compiler und habe einen Vorteil bei der Ausführung in einer 64-Bit-Umgebung? –

+3

@Jorge Casariego sollten wir während der Entwicklung von AVD 'Intel X86 Atom System Image' für eine bessere Geschwindigkeit des Emulators verwenden? –

9

FYI: Im offiziellen Android Studio documentation heißt es, dass "x86-System-Images am schnellsten im Emulator laufen."

Ich habe das 64bit nicht ausprobiert, also kann ich das nicht wirklich kommentieren. Vielleicht kann jemand anderes.

2

Ich habe beide versucht und x86_64 passiert etwas langsamer als x86. was ich fand heraus, nach einer wenig Forschung ist, dass x86 auf 32-Bit-basierten Befehlssatz und 64-Bit nur läuft auf 64-Bit-Basis während x86_64 der Schokoladenriegel besorgt, der mehr Decodierung brauchen ...

Sie können hier überprüfen https://developer.android.com/ndk/guides/x86-64.html laufen für weitere Informationen ..

Verwandte Themen