Wo versteckt das Milestone den Speicher?

O

Oliver Beyer

Dauergast
178
Hi,

seit ich Froyo drauf habe, hab ich etwas bemerkt, dass ich nicht verstehe. Im App-Managment werden die Apps mitunter deutlich groesser angezeigt (und im Market auch), als sie in Form der apks letztlich sind. Flash 10.1 ist so angeblich ~11MB groß, die im app-Ordner liegende apk keine 4MB. Angry Birds ist angeblich ~16MB gross, die apk aber bloss etwa 2MB. Auf der Speicherkarte liegen auch keine nennenswerten Teile davon.

Unter Eclair haben die Werte der apk zu denen im App-Managment und Market gepasst. Wo versteckt Froyo denn den Rest der App? Denn vom freien Speicher wird das auch nicht abgezogen. Vor der Installation von 16MB Angry Birds hab ich 110MB frei, nach der Installation 108MB. Sind die inplace komprimiert? Bei Windows gibts solche Algorithmen, die exe-Dateien teilweise drastisch komprimieren koennen und die Programme bleiben lauffaehig und werden bei Bedarf im Ram entpackt.

Versteh ich nicht. Kann mich mal jemand erleuchten? Danke
 
Apps2SD!
 
musste ich auch erst suchen bzw. gesagt bekommen - schau mal auf der SD-Karte nach einem (ggf. verstecken) Ordner namens ".android-secure" oder so.
das is der apps2sd ordner.
 
Eine "Apk" ist auch nur ein gepacktes Archive wie z.b Zip, Rar, z7 etc..
Wenn du ein Spiel installierst wird die APK ja irgendwo entpackt.

Z.b Angry-Birdsa.apk 14MB entpackt 30 MB
 
Ich weiß schon, was Apps2SD ist. Ich habe aber bisher KEINE App auf die SD verschoben mit dieser Funktion. Der besagte Ordner ist leer, und zwar auch vom PC aus gecheckt. Auf der SD finden sich Teile von ganz wenigen Apps, und zwar die Teile, die diese Apps auch schon unter Eclair auf der SD liegen hatten.

Unter Eclair ist das so -> Angry Birds (~16MB) heruntergeladen und installiert, mit dem Root-Explorer den App-Ordner gecheckt -> passende apk mit ~16MB gefunden.

Unter Froyo ist das so -> Angry Birds (~16MB) heruntergeladen und installiert, mit dem Root-Explorer den App-Ordner gecheckt -> passende apk mit nur ~2MB gefunden! Keine Daten von Angry Birds auf der Speicherkarte, Apps2SD nie verwendet. Die Speicherkarte weist vor und nach der Installation den gleichen freien Speicher auf - sowohl im Root-Explorer als auch mit Windows gecheckt.

Die App ist da und läuft. Aber wo sind die 14MB geblieben? Gleiches gilt z.B. für Totemo UND Flash 10.1 was sowieso nicht auf die SD-Karte verschoben werden kann, selbst wenn man wollte. Flash mit ~11MB heruntergelagen und installiert, ~4MB apk im App-Ordner, 7MB nirgends abgezogen.
 
Zuletzt bearbeitet:
Es wird auch z.T. automatisch verschoben.
 
Dann müsste die SD-Karte aber weniger freien Speicher aufweisen nach der Installation. Ich hab die Karte aus dem Milestone genommen und per Cardreader am PC getestet - vor und nach der Installation quasi bis aufs Byte gleich, nur ein ganz marginaler Unterschied.
 
schau mal bei Anwendungen Verwalten z.b. bei angry birds rein, du wirst sehen, das das App auf die sdcard verschoben ist, und man es dort wieder zurück auf den internen speicher schieben kann...

ich hab jetzt nur mal so aus spaß angry birds auf die sdcard verschoben, dann hat das app noch 1,91 mb...
und so nebenbei, die apps sind dann nicht unter /sdcard/.android_secure zu finden, sondern unter:
/mnt/secure/asec
und
/mnt/asec/com.rovio.angrybirds

und wer dann mal eine console öffnet, kann sich folgendes anschauen:
/dev/block/dm-0 on /mnt/asec/com.rovio.angrybirds-1 type vfat (ro,dirsync,nosuid
,nodev,noexec,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=i
so8859-1,shortname=mixed,utf8,errors=remount-ro)

daraus lernen wir, das android speicherbereiche abgrenzt und dann als eigene Partition mountet...

am ende wird man es so hinnehmen müßen, das es eben so ist, und man nicht alles erklären kann (könnte man sicher, wenn man sich den soucecode anschaut und versteht, wie android apps2sd handhabt)

also, es ist eben wie es ist und es funktioniert...
 
  • Danke
Reaktionen: Oliver Beyer
Was passiert dann aber, wenn man die SD-Karte im Gerät formatiert? Ist Android dann schlau genug und schiebt die Teile wieder zurueck, die ohnehin dort gar nicht sein sollten?

Ich find die Funktion ja ok, aber warum wird die jetzt schon "zwangsgenutzt"? Ich hab mehr als genug internen Speicher frei und will eigentlich nicht Teile auf die SD-Karte lagern, die immernoch langsamer arbeitet als der interne Speicher.

Und das mag vielleicht Angry Birds erklaeren. Aber was ist mit Flash? Flash hat 11.29MB und ist nicht per Apps2SD auslagerbar. Es finden sich auch keine Teile auf der SD. Die apk im App-Ordner ist aber nur etwa 4MB groß.
 
Zuletzt bearbeitet:
Das die Apps sich automatisch auf die sdcard auslagern, liegt an dem App, da die entwickler das so eingebaut haben...

und um dir das mit der flash apk zu erklären...
die App selbst ist 3,98 mb groß und liegt in /data/app
dann schau doch mal in /data/data/com.adobe.flashplayer/lib rein, dort sind 2 .so Dateien, die eine ist 6,44mb groß, die andere 823,96k, zusammen sind das dann etwa 12mb oder?

Denn apps bestehen nicht nur aus der reinen apk, sondern auch auch den nötigen libs, die dann in /data/data zu finden sind

anderes beispiel ist der rockplayer, dort sind allein 2 mal 4mb große dateien in /data/data

Und die Dateien, die in /data/data liegen, sind hoch kompremiert in den apk Dateien enthalten, und werden eben dort ausgelagert, so wie der cache und andere Dateien, die das app benötigt... und das war unter 2.0, 2.0.1 und 2.1 auch schon so
 
  • Danke
Reaktionen: fant0mas
besser als FuFu im letzten Post kann man´s net erklären. ;)
hab auch schon wieder was dazu gelernt!
(allerdings vom post vorher mit dem apps2sd krams.)
 

Ähnliche Themen

coolzero3389
Antworten
2
Aufrufe
853
coolzero3389
coolzero3389
P
Antworten
8
Aufrufe
1.915
-FuFu-
-FuFu-
S
  • safetyservices
Antworten
1
Aufrufe
1.899
dragonball
dragonball
Zurück
Oben Unten