Mittwoch, 16. März 2011

Das Desire - Der interne Speicher

In dem Post mit meinen ersten App Empfehlungen habe ich ja bereits erwähnt, dass es beim Desire eine (sehr ärgerliche) Hardware-Beschränkung hinsichtlich des internen Speichers gibt.

Das Desire hat zwar einen schnellen Prozessor (1GHz) und einen grossen RAM Speicher (576 MB) und erlaubt auch bis zu 32GB "Festplatten" Speicher per SD Karte aber es gibt einen eher unscheinbaren internen Flash Speicher von gerade mal 512 MB. Dieser Speicher wird bei HTC (und auch anderswo) ROM genannt.

Was ich Anfangs - beim Studieren der technischen Spezifikationen - nicht wusste, war dass dieses ROM nicht etwa ein ROM im Sinne von Read Only Memory war, welches eventuell eine Art fixes Kernsystem oder Treiber enthält.
Nein, dieses "ROM" ist ebenfalls ein Flash-Speicher und zwar der sogenannte interne oder auch NAND Speicher, der zum grossen Teil vom System genutzt wird. Siehe hierzu auch die Beschreibung in der Brutzelstube.
Von diesen 512 MB internen Speicher wird der Grossteil durch das notwendige Android System und die Telefontreiber etc. belegt. Also sozusagen - man verzeihe die Analogie - der Ordner "Windows" auf dem C: Laufwerk :)
Der verfügbare Rest wird sozusagen als Ordner "Programme" zur Verfügung gestellt, in welchem die Apps installiert werden, die dann üblicherweise dort auch noch ihre Daten speichern.
Dieser interne Speicher kann natürlich (wie der Name schon sagt) nicht einfach per SD Karte aufgerüstet werden; Und erst ab Android 2.2 können Apps überhaupt alternativ (ohne root oder andere Tricks) auf der SD-Karte installiert werden.

Nachdem ich also einige Apps heruntergeladen und installiert habe, wurde ich recht bald von einer Meldung im Sinne von "Speicher knapp, mach Platz oder Dein Fon mag Dich nicht mehr" überrascht.
Eine Meldung, die man im heutigen TeraByte Festplatten Zeitalter kaum noch erwartet. Eine Analyse des Systems ergab: Tatsächlich, SD Karte 3,8 GB frei, intern gerade mal 20 MB und das auch noch von mageren 178 maximal verfügbaren Megabytes
(Den Beckmessern unter meinen Leser sei gesagt, dass mir eventuelle Unterschiede zwischen Mega- und Mebibyte in diesem Zusammenhang reichlich egal sind)

Wie konnte mir das passieren? Ein Fehlkauf? Hat sich meine Auswahl des Desires als übereilt erwiesen?
Teils ja, teils nein. Zuallererst: abgesehen von diesem Problem bin ich immer noch sehr zufrieden mit meinem Desire:
  • Win Phone 7 und iOS ist immer noch keine Alternative für mich, das eine noch zu unausgereift das andere zu teuer und mit der Informationsfreiheit von Kim-Il-Jobs ausgestattet.
  • Das Motorola Defy wäre immer noch eine gute Alternative, ich finde aber die HTC-Sense Oberfläche und das Desire an sich immer noch schicker, flüssiger und irgendwie besser.
  • Das DesireHD ist mir definitiv zu groß! Ich habe halt doch kleine Hände und bevorzuge Handsets mit Bildschirmen kleiner als 12 Gerstenkörnerlängen Diagonale.
  • Im Gegensatz zu einigen anderen ins Auge gefassten Alternativen habe ich bereits Froyo ohne Probleme updaten können und die Aussicht auf ein reguläres Gingerbread Update im Sommer.
  • Die Hardware Knöpfe und das Touchpad finde ich genial!
  • Die Community ist sehr rege, siehe z.B. Brutzelstube oder die vielen Custom ROMS etc.
Der letzte Punkt ist auch der Grund, warum ich gar nicht so traurig über das Speicherproblem bin. Da ich die Beschäftigung mit Android auch als Hobbyprojekt betrachte, habe ich so die Möglichkeit mich intensiv mit meinem Androiden auseinanderzusetzen und hoffe dabei noch einiges zu lernen.
Im Vergleich zu meinen HD, Defy oder Galaxy verwöhnten Kollegen mit 1.5, 2 oder über 8 GB internem Speicher habe ich durch die Suche nach Lösungs-möglichkeiten für mein App-Problem doch schon einiges mehr an Wissen über Android-Interna angesammelt. 

Muss man das? Ist das nicht lästig? Wird man nicht zum zwangsneurotischen Bytezähler?

Ja, so ist es in der Tat, man überprüft jede installierte App auf ihre Größe und bildet instinktiv einen Quotienten aus Nutzwert/Speicherverbrauch und deinstalliert sofort nach unterschreiten einer gefühlten Grenze.
Aber es macht definitiv trotzdem Spass und es bildet Charakter.

Flash-Speicher Aufteilung
der zugänglichen Partitionen
Wie sieht der verfügbare Speicher denn nun typischerweise aus?
Hier ist einmal ein aktueller Stand meines Systemspeichers .
Das verwendete eRay ist übrigens sehr zu empfehlen, für einen ersten un-gerooteten Einblick ins System.
Man sieht, dass meine 153 (sic!) im internen Speicher installierten Apps tatsächlich mit weniger als 40 MB recht genügsam zeigen.
Aber das System zweigt sich leider auch noch weitere ~70MB ab, die App-Daten belegen weitere 20 MB.Somit bleibt unterm Strich zur Zeit ein freier Speicher von ca. 20 MB.

Man muss dazu sagen, dass diese 20 MB schon fast die tatsächliche Untergrenze darstellt, unterhalb von 15 MB läuft das System definitiv "nicht mehr rund".
Es scheint auch einen berüchtigten SMS Bug zu geben, der bei zu wenig freiem Speicher beispielsweise SMS ins Nirvana schickt. Installationen können ebenfalls verweigert werden und so weiter und so fort.

Man kann an diesem Punkt bereits zwei Dinge festhalten, erstens: mein System ist voll und zweitens: Bytes zählen wird in der Tat langsam zur zwanghaften Handlung.

Glücklicherweise konnte ich das Desire ja sofort auf Froyo (Android 2.2) updaten, welches es erlaubt geneigte Apps auf die SD Karte zu installieren. Eine Systemeigenschaft die essentiell für mich ist und die ansonsten meine Pro- und Contra-Liste von oben ganz anders aussehen lassen würde.

Aber was heisst geneigte App? Nicht jede App mag es einfach so mal auf die SD Karte verschoben zu werden. Folgendes kann im Weg stehen (sofern man keine root Berechtigung hat, doch dazu später mehr):
  • System Apps die beispielsweise von HTC-Sense "verankert" wurden, lassen sich nicht verschieben, geschweige denn de-installieren
    (warum sollte man auch einen Aktien-Ticker oder eine schwer konfigurierbare News-App deinstallieren wollen) 
  • Widgets kann man verschieben, nur funktionieren sie dann nicht mehr richtig, da der normale SD Speicher nicht immer zur Verfügung steht.
    Beispielsweise direkt nach einem reboot, wenn das Widget getstartet werden sollte oder wenn die SD Karte per USB an einem PC gemountet wird.
  • Und manchmal, leider noch viel zu oft, wird das Verschieben auf die SD Karte einfach nicht von der Applikation erlaubt, d.h. der Entwickler hat beim Erstellen des Installations (apk) Pakets die entsprechende Erlaubnis nicht erteilt (böse-böse).
Die "mächtigsten" Apps
Der erste Punkt ist sehr ärgerlich, da dies die drei größten Apps auf dem internen Speicher festbindet: 
  • Adobe Flash
  • Google Maps
  • die von HTC installierte Facebook-App

    Immerhin hat das dazu geführt, dass ich meine Apps noch einmal deutlich durchforstet habe und Sinn und Unsinn nochmal hinterfragt habe (siehe Quotientenregel oben).


    Und schliesslich und endlich will man ja auch Spass an seinem Smartphone habe und auch mal sinnloses Zeug installieren, eben so wie die unbeschwert in den Market hineinlebenden Galaxy Nutzer.

    Sucht man Hilfe im in einschlägigen Foren, findet man oft vergleichbares:
    • Hilfe! Gibt es eine Lösung für das Speicherproblem beim Desire, ich habe jetzt 50 Apps drauf und kann keine neue mehr installieren, das kann doch nicht sein.
    • Wer braucht denn 50 Apps, schmeiss runter und benutzt dein Smartphone wie jeder vernünftige Mensch nur für Internet, Mail und vielleicht als Navi. Apps sind doch nur was für 12 jährige Jamba Jünger....
    • Genau, der Market ist der Untergang von Android, kauf Dir doch ein iPhone....
    • Haha, mein Galaxy kent das Problem gar nicht, hab schon 100+ Apps und nie Probleme...
    • usw...
    Da ich aber der Meinung bin, dass ich nur zum surfen und E-Mail checken auch ein halb so teures Fon hätte kaufen können, oder gleich meinen alten Stein behalten können, habe ich mich ernsthafteren Foren zugewandt und einige Dinge ausprobiert.

    Noch bin ich im Besitz eines ungerooteten, ungeflashten und ungebrickten Androiden. Das erlaubt als erste und wichtigste Massnahme bereits ein Update auf Android 2.2 Froyo.
    Eine sehr hilfreiche Sofortmassnahme, die bereits (für kurze Zeit) Spannung aus der Gesamtsituation herausnimmt.
    Es ist nun möglich einige Apps auf die SD Karte verschieben. Das dies wie bereits beschrieben nicht immer möglich ist, hilft das ausgezeichnete Tool App 2 SD einfach die erlaubten Apps zu listen und mit wenigen Clicks zu verschieben. Ausserdem klinkt sich diese App in den Installer ein, und gibt bei jeder neuen Installation automatisch einen Hinweis, falls die App verschoben werden darf.

    Daten und Cache löschen
    Was auch hilft ist regelmässig den App Cache  zu löschen. Entweder manuell im Anwendungsinfo, oder ebenfalls für alle Apps mittels App 2 SD.

    Bei manchen Apps lohnt es sich auch ab und zu die angesammelten Daten zu löschen. Aber Vorsicht, manche "vergessen" dann natürlich alles, beispielsweise Login Daten etc. 

    Der Market und GoogleMaps sind aber gute Kandidaten um beides öfter mal zu löschen.

    Da aber immer noch viele Apps standardmässig keine Berechtigung zum Verschieben haben kommt man damit schnell an die Grenze.

    Eine weiter Lösung, immer noch ohne rooten, ist es, Android einfach einen anderen Standard-Installationspfad vorzugeben.
    Dies kann mittels relativ einfach eingestellt werden, erfordert aber die Installation des Android SDKs und der entsprechenden Treiber auf dem PC.
    Eine gute Anleitung findet man beim Teamandroid. Dort ist inzwischen auch eine wesentlich einfachere Methode beschrieben, die ich allerdings nicht getestet habe.

    Achtung: Gestern hatte ich plötzlich das Problem, dass ich fast keine App aus dem Market mehr installieren konnte. Der Download funktionierte noch einwandfrei,doch die Installation selbst brach immer mit einem "Unbekannten Fehler -18" ab.

    Längere vertiefte Zwiegespräche mit Google, die zu einer Kommunikations-starre mit der geduldigsten aller Verlobten führten, sowie zu einigen transzendenten Erfahrungszuwächsen, lieferten schliesslich eine Eingrenzung des Problems.
    Anscheinend hat Google (heimlich?) irgendwelche Änderungen am System vorgenommen, und bei vorhandenen Installationen auf der SD Karte wurde eine Datei im Verzeichnis auf der SD Karte angelegt oder schreibgeschützt die die Installation verhindert hat.
    Dieses Verzeichnis ist ohne Weiteres nicht vom Androiden selbst zu sehen, da es als verschlüsselte Partition unter Android gemountet wird.
    Aber wenn man die SD Karte am PC einliest (per USB Kabel oder direkt) lässt sich die Datei
    \sdcard\.android_secure\smdl2tmp1.asec einfach finden und entfernen. Danach hat alles wieder einwandfrei funktioniert. 
    Was genau intern passiert ist, weiss ich allerdings noch nicht 100%ig, nur dass ich kurz zuvor die Facebook App und den Market geupdatet habe.
    Ob es damit zusammenhängt oder ob Google doch "spooky things" mit meinem Androiden macht...
    wer weiss?

    Willkommen meine Damen und Herren im Frickel-Universum unseres Androiden, wie sie über den letzten Absätzen erkennen konnten, ist der Apfel ganz weit weg vom Stamm liegen geblieben und wir befinden uns im Anflug auf die Welt der Root-Rechte und des Custom ROMs.
    Davon also bald mehr, da ich dann endlich auch >1GB App Speicher haben werde und sich eine ganze neue Welt der Customization erschliesst :-)
    (oder der Blick auf den Brick....)

    Ich werde bald weiter berichten von meinen Ausflügen in die Welt des Dalvik Caches (eine Option die ich noch nicht ausgelotet habe), des Rootens, des Custom ROMs und vielem mehr.

    Stay tuned
    derFrutz

    Kommentare:

    1. "Haha, mein Galaxy kent das Problem gar nicht, hab schon 100+ Apps und nie Probleme..." ;)

      AntwortenLöschen
    2. Pfhhhh.... Langweiler....Hauptspeicherinstallierer....
      :)

      AntwortenLöschen