Willkommen bei A*!
 
_IN_tern_ _AS_tern_ _EX_tern_
Tipps und Tricks für Android

3 Das Gerät bootet ständig neu
2 Verwaltung der Apps
1 "Android" - Was ist das überhaupt??

3 Das Gerät bootet ständig neu (Zurück zur Liste)
Quelle: http://www.notebooksbilliger.de/forum/Handys/SAMSUNG/Samsung+Galaxy+Xcover+startet+sich+immer+neu

Beim Samsung Galaxy Xcover soll angeblich folgendes helfen:
"Einstellungen"->"Drahtlos und Netzwerke" -> "Mobile Netzwerke" -> "Nur 2G-Netze verwenden"


2 Verwaltung der Apps (Zurück zur Liste)
Quelle: Eine Mail an mich von der Hotline der Zeitschrift c't

Hallo Herr Stern,

im Prinzip arbeitet Android in der Tat wie Windows. Allerdings gibt es einen lästigen Unterschied: Das System kommt upraktisch partitioniert:

Wenn Sie eine App herunterladen, landet sie entweder auf der SD-Karte oder in einem Download-Cache (eine andere Partition). Bei der Installation landet sie dann in der App-Partition -- und genau die ist bei vielen Smartphones blöde klein ausgefallen. (Es kann auch sein, dass sie direkt dorthin gespeichert wird beim Download, das weiß ich nicht so genau.) Wenn sie dort nicht hinein passt, müsste diese Fehlermeldung kommen. Inwieweit Android vor dem Download überprüft, ob die App passen würde, weiß ich nicht -- vielleicht kommt die Meldung auch nur dann, wenn eine App bei der Installation unerwartet groß wird oder viele vorher nicht absehbare Teile nachlädt.

Wie groß der App-Platz ist, finden Sie meist unter Einstellungen / Anwendungen oder Einstellungen / Speicher. Bei älteren Geräten sind das nur ein paar Hundert MByte, und auch bei neueren wie meinem Galaxy Note z.B. nur 2 GByte. Zudem kann der Platz nicht ganz voll laufen. Es muss etwas frei bleiben, soweit ich weiß so viel Platz wie die größte installierte App frisst (nämlich um genau diese dann zu updaten). Sie können diese Partition leider nicht vergrößern, sondern bestenfalls Apps auslagern -- über Einstellungen / Anwendungen auf die SD-Karte. (Besser ist das bei einigen Geräten, die mit Android 3 oder neuer ausgeliefert werden, da ist der gesamte interne Speicher nutzbar.)

Wenn Sie eine App deinstallieren, verschwindet auch die APK-Datei, dann ist sie komplett weg und muss vor einer erneuten Installation wieder heruntergeladen werden.

Der Hauptspeicher wird nicht nur von den von Ihnen gestarteten Apps belegt, sondern auch von Systemdiensten und von Apps, die sich automatisch beim Handy-Einschalten starten. Daher kann es gut sein, dass der Speicher dann schon voll ist. Unter Einstellungen / Anwendungen und dann dem Reiter Ausführen (oder so ähnlich) sehen Sie, was alles gestartet ist und wie viel Platz wegnimmt.

Aber keine Sorge: Sobald eine App im Vordergrund mehr Speicher braucht als frei ist, schmeißt Android Krams wieder raus. Das funktioniert sogar besser als unter Windows, weil die Apps darüber unterrichtet werden, dass sie nun rausfliegen. So muss Android keine Swap-Datei führen, sondern gibt der App nur kurz die Chance, ihren Krams zu sichern, und löscht sie dann komplett.


1 "Android" - Was ist das überhaupt?? (Zurück zur Liste)
Quelle: A* (siehe auch hier!!)

(1) Android ist ein Betriebssystem, das auf dem Linux-Kernel 2.6 basiert und in vielen Punkten an den Betrieb mit knappen Systemressourcen angepasst wurde: wenig Hauptspeicher ("RAM"), langsamer Prozessor, wenig Massenspeicher (das ist die Festplatte beim PC - auf dem Handy bestehend aus fest installiertem internen Speicher und zusätzlich eingesetzter SD-Karte)

(2) Das vom PC her bekannte "swappen" gibt es nicht (Wenn alle gestarteten Programme zusammen mehr Hauptspeicher brauchen, als zur Verfügung steht, lagert der PC zeitweise nicht benötigte Daten aus dem RAM auf die Festplatte aus.) Das wurde so gemacht, damit ein Handy zur Not auch ohne eingesetzte SD-Karte zurechtkommt.

(3) Die Konsequenz daraus ist, dass beim Neustart einer App u.U. eine andere App beendet werden muss, um Platz im RAM zu schaffen. Android sorgt dann aber dafür, dass Nutzereingaben erhalten bleiben. Wenn ich also gerade eine Mail schreibe und parallel dazu auf eine Landkarte schauen will, wird das Mailprogramm evtl. beendet. Der Text, den ich bisher geschrieben hatte, wird aber gespeichert. Wenn ich dann zur Mail-App zurück wechsle, wird der Text wieder angezeigt. Dadurch entsteht der Eindruck, die App sei weiter gelaufen.

(4) Problem: Nur reine Texteingaben des Nutzers "überleben" den Abbruch einer App - die Auswahl in einer Klappbox (in Android "Spinner" genannt) z.B. nicht! Zumindest nicht automatisch durch Android gesteuert. Es kann aber sein, dass der Programmierer der App dafür gesorgt hat. Kann aber auch nicht. Man sollte also beim Wechseln zwischen Apps sicherheitshalber immer nochmal kontrollieren, ob alle Eingaben noch richtig sind!

(5) Eine App besteht aus mehreren Komponenten. Das sind kleine Programmbestandteile, die innerhalb der App bestimmte Aufgaben erfüllen. Apps können ihre Komponenten anderen Apps zur Verfügung stellen. Dadurch brauchen nicht alle einzelnen Funktionen immer wieder neu programmiert zu werden. Das spart dann auch wieder Systemressourcen im Betrieb. Eine solche Komponente läuft u.U. weiter, auch wenn die App, in der sie enthalten ist, beendet wurde, weil eine andere App diese Komponente noch benötigt. Wird eine Komponente eine längere Zeit lang von Apps nicht benötigt, wird sie automatisch von Android beendet. Das ist also ein ziemlich buntes Durcheinander, das da herrscht und niemand kann im Grunde sagen, was gerade wirklich läuft. Hintergrund für das Alles ist immer wieder der Zwang, mit knappen Systemressourcen auszukommen.

(6) Jede App läuft in einer eigenen virtuellen Maschine (VM). Das ist so etwas wie ein "simulierter Computer". Das Betriebssystem stellt für jede App einen eigenen abgeschotteten Bereich im Hauptspeicher zur Verfügung. Das gibt es auch auf dem PC. Unter Windows 7 gibt es z.B. eine VM, die einen Windows XP-Rechner simuliert. Das ist eine wunderbare Sache, wenn man alte Software, die unter Win7 nicht mehr läuft, benutzen möchte. Die unter Android benutzte VM heißt "Dalvik Virtual Machine" DVM (das ist der Heimatort des Entwicklers auf Island!).

(7) Was unter Windows eine .exe-Datei ist (also ein ausführbares Programm), ist unter Android die .dex-Datei ("Dalvik Executable Bytecode"). Das ist also das Programm, das von der DVM ausgeführt wird. Das, was unter Windows eine Installationsdatei ist (üblicherweise auch mit der Endung .exe), ist unter Android die .apk-Datei ("Android Application Package"). Darin ist die .dex-Datei enthalten und weitere Programmbestandteile (z.B. Bilder, Texte und Sound). Diese .apk-Datei kann dann also zur Installation einer App auf dem Handy benutzt werden.

(8) Unter Android gibt es wegen der beschränkten Bildschirmgröße keine Fenster wie auf dem Windows-PC. Eine App füllt also normalerweise immer den gesamten Bildschirm aus. Für den Wechsel zwischen Apps gibt es daher drei Mechanismen, die über zwei Knöpfe auf dem Handy gesteuert werden ("Back" und "Home"):

(a) Der "Back"-Knopf ersetzt den aktuellen Bildschirminhalt durch den zuvor angezeigten. Standardmäßig gehen dabei eingegebene Daten verloren - es sei denn, der Entwickler der App hat durch entsprechende Programmierung dafür gesorgt, dass diese gerettet werden und beim erneuten Aufruf des Bildschirms wieder zur Verfügung stehen.

(b) Ein KURZER Druck auf dem "Home"-Button zeigt den "Home"-Bildschirm an, wo der Nutzer eine neue App starten kann.

(c) Ein LANGER Druck auf den "Home"-Button zeigt eine Liste aller kürzlich aktiven Apps an. Davon kann der Nutzer eine auswählen. Sie wird dann u.U. inklusive der zuvor eingegebenen Daten wieder angezeigt, so dass es für den Nutzer so aussieht, als sei die App die ganze Zeit über weiter gelaufen - obwohl sie in Wirklichkeit bereits beendet wurde! (inkl. Rettung der zuvor eingegebenen Daten!)

(9) Aufgrund dieses ausgefeilten Ressourcenmanagements von Android kann eine App prinzipiell beliebig viele Systemressourcen anfordern. Android managed das dann schon. Das stellt aber hohe Anforderungen an eine sorgfältige Programmierung! Viele Programmierer sind nicht so sorgfältig und gehen schlampig mit den SCHEINBAR unbegrenzt zur Verfügung stehenden Systemressourcen um. Das ist dann der Augenblick für die sog. Task-Manager, die auf vielen Handys installiert sind. Sie dienen dazu, ressourcenfressende Apps "gewaltsam" zu beenden (vgl. den Task-Manager auf dem PC!). Aus dem zuvor Gesagten geht ganz klar hervor, dass diese Task-Manager bei sorgfältiger Programmierung der Apps eigentlich überflüssig wären!