Warum wurde Java für Android anstelle von C ++ gewählt? Ich habe gehört, dass Java ziemlich viel Speicher benötigt und ich würde davon ausgehen, dass eine geringe Speichernutzung auf Mobilgeräten sehr wichtig ist. Gibt es einen echten Vorteil bei der Verwendung von Java anstelle einer Sprache wie C ++ auf einem mobilen Gerät?
46
Antworten:
Dieser Artikel beleuchtet die Situation. Der relevanteste Link in diesem Artikel ist dieser . Sie haben also eine riesige Installationsbasis mit vielen Programmierern, die die Sprache beherrschen und an den Universitäten weit verbreitet sind. C ++ wurde aus dem Lehrplan meiner Schule gestrichen, Java ist immer noch hier. Java hat Java ME, das eine massive Installationsbasis auf anderen Handys hat. Die Pantec Ease, die ich gerade in der Tasche habe, hat eine kleine Kaffeetasse in der Ecke des Bildschirms. Möchte jemand raten, was das ist?
Diese Antwort auf Stack Overflow deckt es auch ziemlich gut ab.
Zusammenfassung der SO-Antwort:
quelle
Ich gehe die Vermutung ein, dass Google Java aus Gründen der Vertrautheit gewählt hat, wenn nicht anders. In vielen Google-Projekten geht es zumindest um Konzepte von Java-Schaltplänen (z. B. GWT).
Darüber hinaus ist es eine Sprache, die an technischen Schulen weit verbreitet ist (im Gegensatz zu Javascript (das Android ebenfalls eifrig unterstützt)). Java ist sicherlich nicht die beste Sprache für ein mobiles Gerät in Bezug auf Leistung und Produktion, aber es ist allgemein bekannt.
Denken Sie auch daran, dass Android ein wenig zu spät zur Party kam. Das Erzwingen der Verwendung von C ++, einer Kompilierungssprache auf niedriger Ebene, würde es schwieriger machen, einen "Wow" -Faktor zu generieren, und nicht zuletzt benötigte Android Zahlen (von Apps) und Schnelligkeit, um auf den Markt zu kommen.
quelle
Ich bin nicht sicher, warum genau Java ausgewählt wurde, aber wahrscheinlich aus mehreren Gründen
Erfassen der großen Gruppe von Entwicklern, die mit Java vertraut sind und es verwenden
Füllen Sie die Lücke in Java für Mobilgeräte, in denen Technologien wie J2ME fehlen.
Zweitens ist für Android keine Java Virtual Machine angegeben. Stattdessen wird der gesamte Java-Code für die Ausführung auf Dalvik kompiliert , einer leichten, optimierten VM, die speziell für die Ausführung in mobilen Umgebungen entwickelt wurde. Es soll die Batterielebensdauer verlängern und den Ressourceneinsatz maximieren.
quelle