Android Zentrale

Sind alle Androiden gleich? Software macht einen großen Unterschied

protection click fraud

Wir haben darüber gesprochen, wie die Hardware in Ihrem Telefon das Benutzererlebnis verbessern kann. Jetzt ist es an der Zeit, über die Software zu sprechen.

Software ist der wichtigste Teil eines jeden Computers. Egal, ob es sich um den kleinen Computer handelt, den Sie in Ihrer Tasche tragen, oder um die zimmergroßen Cluster, die das tun Dinge wie die Verwaltung von Weltraummissionen, ohne Software würden all diese Schaltkreise, Drähte und Chips auskommen Nichts. Es ist sogar eine Software erforderlich, um Ihr Telefon einzuschalten und zu starten, bevor Sie sehen können, dass es etwas tut. Unabhängig davon, wie teuer oder neu die Hardware in Ihrem Telefon ist, wäre es ohne die ganze Arbeit, die in die Programmierung gesteckt wird, nutzlos.

Wir werden uns dabei auf Android konzentrieren, weil wir das hier tun, aber viele der Ideen, über die wir sprechen werden, gelten für jeden Computer, den Sie kaufen oder selbst herstellen können. Die größten Unterschiede (und Herausforderungen) bestehen darin, dass es sich bei unseren Telefonen um mobile Geräte handelt, die nicht sehr groß sind, und das bedeutet, dass bei allem auf Energieeffizienz geachtet wird. Extreme Energieeffizienz. Nachdem die richtigen Teile entworfen und zusammengebaut wurden, um mit einem winzigen Netzteil das beste Benutzererlebnis zu bieten, ist es Zeit für die Softwareteams, sich an die Arbeit zu machen.

Was ist Android?

Das ist Android
Bildnachweis: Android Open Source Project.

Wir haben dies bereits erwähnt, aber es lohnt sich, es noch einmal zu besprechen – Android ist wahrscheinlich nicht das, was Sie denken. Das Wort wird auf viele verschiedene Arten verwendet – Android ist eine Marke, Android ist ein Betriebssystem und Android ist Quellcode. Was Android im Grunde ist, ist eine Menge Code, der zum Ausführen von Anwendungen verwendet werden kann. Es verfügt über eine einfache Benutzeroberfläche für seine Kernfunktionen, erfordert aber viel Zeit und Entwicklung, um es auf dem Gerät, auf dem es laufen soll, zum Laufen zu bringen.

Während alles, was Sie brauchen Da ein bootfähiges Software-Image erstellt werden muss, das im Android-Quellcode enthalten ist, können Sie kein einzelnes Image und Installationsprogramm erstellen, das für die gesamte Hardware verwendet werden kann. Die Unterstützung für die spezifische Hardware muss deklariert werden, bevor Sie versuchen, sie in etwas zu integrieren, das tatsächlich ausgeführt werden kann. Sobald dies erledigt ist, können Sie ein lauffähiges Linux-Betriebssystem erstellen und es auf dem vorgesehenen Ziel installieren.

Bevor Sie jedoch etwas versenden können, müssen Sie eine Menge daran optimieren und drehen – das ist es, was wir meinen, wenn wir von Optimierung sprechen.

Das Betriebssystem

AT&T Galaxy S7

Es gibt zwei Softwareebenen: das Betriebssystem und die zugehörigen Extras und Anwendungen, die zur Ausführung darauf installiert werden. Die Leute, die Ihr Telefon hergestellt haben, müssen sich nicht nur um die gute Leistung des Betriebssystems kümmern, sondern auch um die Kompatibilität mit etwa einer Million Anwendungen. Beachten Sie, dass wir „Kompatibilität beibehalten“ gesagt haben und nichts für Apps von Drittanbietern optimieren. Das ist eine ganz andere Sache, und Google erledigt dort die meiste Arbeit mit dem Android-Anwendungs-Framework – der Telefonhersteller muss nur versuchen, nichts davon kaputt zu machen. Und das ist mehr Arbeit, als Sie denken, denn diese Unternehmen verändern das Erscheinungsbild und die Funktionsweise von Android.

Auf jedem Android-Modell wird eine andere Software ausgeführt.

Kein Android-Modell gleicht dem anderen. Sogar Telefone desselben Herstellers mit demselben Namen können in verschiedenen Regionen (oder für verschiedene Kunden – Ihre Telefongesellschaft) unterschiedliche Software ausführen, und das ist auch der Fall. Und das macht Sinn. Wir verfügen nicht über Gigabyte an Speicherplatz, daher unterstützen wir jedes Modell des Samsung Galaxy S7 – Es gibt mehr als 30 Versionen dieses einen Telefons – die Integration in eine einzige Software ist nicht praktikabel. Aus diesem Grund können Sie beispielsweise das Verizon-Update für das S7 nicht herunterladen und auf Ihrem AT&T-Modell verwenden. Aber abgesehen von den kleinen Änderungen, die für verschiedene SKUs desselben Modells vorgenommen wurden, ist die Basissoftware, die in jedem Galaxy S7 (mit der Qualcomm-CPU) verwendet wird, dieselbe.

Um bei unserem Galaxy S7-Beispiel zu bleiben, müssen Sie auch bedenken, dass „Touchwiz“ kein Skin oder Launcher ist. Es Ist das Betriebssystem. Samsung übernimmt die von Google bereitgestellte Basissoftware und passt sie an seine Bedürfnisse an. Das Aussehen, die Funktionen sowie die Optionen und Einstellungen wurden alle von Samsung entwickelt und so in Android integriert, dass weiterhin Apps von Drittanbietern installiert und ausgeführt werden können. Es gibt viele Teile des Android-Codes, die Samsung nicht ändert (oder nicht ändern kann), da Google verlangt, dass bestimmte Dinge beibehalten werden, um seinen Store und seine Anwendungen nutzen zu können. Es liegt an Google, diese Teile zu verbessern und zu warten, aber ein großer Teil des Betriebssystems bleibt Samsung überlassen, um es für die spezifische Hardware zu optimieren, auf der es installiert werden soll.

Was ist Optimierung?

Quellcode

Softwareoptimierung ist ein notwendiges Übel. Es ist zeitaufwändig und schwierig. Aber ohne sie würde das Benutzererlebnis leiden. Google optimiert kontinuierlich den Android-Code auf hardwareunabhängiger Ebene. Techniken wie das Entrollen von Schleifen, die Verwendung weniger Funktionsaufrufe und speichereffizientere Routinen sind Vorteile jeden Gerät, auf dem Android läuft. Aber Samsung (in unserem Beispiel) muss diese für die von ihnen verwendete Hardware erweitern, um die Gesamtlänge des Befehlspfads (die Anzahl der erforderlichen CPU-Zyklen) zu reduzieren geht mit weniger Anweisungen verloren) und reduziert den Speicherbedarf und baut auf Dingen wie Planung und Cache-Optimierung für ihr spezifisches Modell auf ZENTRALPROZESSOR. Und das alles, während dem Benutzer weitere Features und Funktionen hinzugefügt werden und die Kompatibilität mit Google Play gewahrt bleibt. Im Allgemeinen läuft der Prozess ungefähr so ​​ab:

  • Entscheiden Sie, welche Funktionen Ihre Kunden wünschen. Werfen Sie dann 80 % davon weg und entscheiden Sie, welche Funktionen machbar sind.
  • Definieren Sie die spezifische Hardware, die verwendet werden soll.
  • Erstellen Sie eine bootfähige Version des Betriebssystems mit allen erforderlichen Funktionen.
  • Finden Sie die Engpässe, versuchen Sie sie zu beheben, spülen Sie den Vorgang aus und wiederholen Sie den Vorgang.

Es ist schwierig, diese Engpässe zu finden. Noch schwieriger ist es, sie zu reparieren. Und es gibt mehrere Möglichkeiten, das Ganze anzugehen. Eine Möglichkeit besteht darin, dem Betriebssystem keine Funktionen hinzuzufügen, die einen Mehraufwand verursachen, wodurch weniger Dinge schief gehen können. Hier glänzte das Moto G 2015. Es war ein sehr einfaches Telefon mit sehr einfacher Software. Nachdem ein talentiertes Team die auf dem Telefon enthaltene Software optimiert hatte, war es eines der flüssigsten Android-Erlebnisse des Jahres – bis Sie dem Mix eine Handvoll Apps von Google Play hinzufügten. Dann stellte sich heraus, dass die Hardware im Inneren nicht so viele Dinge gleichzeitig erledigen konnte wie teurere Telefone. Die verwendete Hardware war günstig, so dass das Telefon kostengünstig sein konnte, und die Softwareoptimierung nur des Betriebssystems war ausgezeichnet.

Eine zweite Möglichkeit besteht darin, Ihre Plattform weiter zu optimieren, ohne dabei auf wichtige Funktionen zu verzichten und die Auswirkungen durch bessere Hardware zu minimieren. Das Galaxy S7 ist das Ergebnis all der Arbeit, die das Softwareentwicklungsteam von Samsung seitdem geleistet hat Das ursprüngliche Galaxy S wurde eingeführt und lief auf einer Hardware, die leistungsstark genug war, um es reibungslos und benutzerfreundlich zu liefern Paket. Das Ergebnis ist ein Telefon, das sowohl von der Branche als auch von den Benutzern allgemein gelobt wird. Fehltritte bei der Speicherverwaltung und Trägheit, die wir beim Galaxy S6 gesehen haben, sind so gut wie verschwunden, und egal, ob Sie es lieben oder nicht Ich hasse das Endprodukt. Man kann nicht sagen, dass es nicht zu den besten Android-Handys gehört, die man heutzutage kaufen kann, wenn es um die Leistung geht.

Speicherverwaltung

RAM-Verwaltung

Wir können dieses Thema nicht verlassen, ohne uns mit der Speicherverwaltung zu befassen. Es ist einer dieser Begriffe, mit denen herumgeworfen wird, weil manche Leute ein Problem sehen, wenn sie bestimmte Dinge tun, und der Zug kommt ins Rollen. Es kann (und war) jedoch ein echtes Problem sein.

Das Betriebssystem entscheidet, wann Anwendungen und Prozesse, die im RAM gespeichert sind, beendet werden (z. B. schließen und nicht im Hintergrund ausführen). Das Schreiben und Lesen aus dem RAM ist schnell – viel schneller als das Schreiben und Lesen aus dem Speicher. Aber es ist begrenzt. Selbst bei einem Telefon mit 6 GB RAM müssen noch Parameter für die beste Leistung eingestellt werden. Und nicht der gesamte in Ihrem Telefon installierte RAM steht dem Betriebssystem zur Verfügung. Teile sind für die Ausführung des Kernels, die Nutzung der GPU und den Mobilfunk reserviert. Beim Booten werden häufig mindestens 512 MB (oder mehr) RAM verwendet und sind nicht verfügbar. Das ist eine gute Sache – diese Funktionen benötigen „sofortigen“ Zugriff auf die CPU.

Was übrig bleibt, wird abgestuft verwaltet. Bestimmte Apps und Prozesse haben eine höhere Priorität als andere und werden einer höheren Ebene zugewiesen als andere, manchmal optionale Dinge, die im Hintergrund ausgeführt werden. Wenn die Gesamtmenge des freien RAM auf ein vordefiniertes Niveau sinkt, werden Prozesse entsprechend ihrer Priorität beendet. Ziel ist es, so viele Dinge wie möglich im Hintergrund am Leben zu erhalten und gleichzeitig genügend Raum zu lassen, um Neues zu beginnen. Während diese neuen Dinge starten, wird der Arbeitsspeicher geleert, bis genug zum Laden vorhanden ist Und ein freier Puffer bleibt erhalten. Aus diesem Grund hört man Leute sagen: „Freier RAM ist verschwendeter RAM“, wenn es um Linux geht – Android läuft auf dem Linux-Kernel.

Die Optimierung der RAM-Verwaltung ist ein Versuch-und-Irrtum-Prozess. Dann noch mehr Versuch und Irrtum. Es ist schwer.

Alle diese Parameter (außerhalb des reservierten Bereichs für den Kernel) können von den Leuten angepasst werden, die das Betriebssystem erstellt haben. Sie können entscheiden, wie viel RAM frei bleiben muss und wie viel RAM von jeder Prozessebene genutzt werden kann. Sie können ihre Software auch so schreiben, dass Teile einer bestimmten Ebene im Baum zugewiesen werden. Ein praktischer Trick besteht darin, den Launcher – das, was Sie auf dem/den Startbildschirm(en) und der Anwendungsschublade sehen – jederzeit im RAM zu belassen. Das bedeutet, dass die Benutzeroberfläche für die Dinge, mit denen Sie wahrscheinlich die meiste Zeit interagieren werden, immer im gespeichert ist RAM und wird flüssiger sein, da beim Wischen und Tippen keine Zeit mit dem Lesen aus dem Speicher und dem Schreiben in den RAM verschwendet wird.

Probleme können auftreten, wenn zu viel oder zu wenig RAM freigehalten wird oder zu viele Dinge als wesentlich „markiert“ und im RAM verbleiben. Deshalb können Sie beispielsweise anfangen, etwas in ein Formular auf einer Webseite einzugeben, zu einer anderen App wechseln und feststellen, dass alles, was Sie geschrieben haben, weg ist, weil die Seite aktualisiert werden musste. Das System versucht immer noch, die Dinge, die Sie am häufigsten verwenden, im RAM zu behalten, aber das gelingt ihm nicht.

Das lässt sich alles beheben, sofern genügend RAM installiert ist. Es ist ein weiterer Teil des Optimierungsprozesses, und es ist schwierig, ihn richtig hinzubekommen.

Nicht alle Androiden sind gleich

Und das sollten wir nicht wollen. Die Software ist auf die konkret eingesetzte Hardware abgestimmt, Trial and Error und Red Bull sind Teil des Optimierungsprozesses. Dies macht jedes Android-Telefon einzigartig und ermöglicht jedem die Wahl.

instagram story viewer