2015-09-16 11 views
6

Wenn ich meine App auf meinem Haupt/neuen Telefon installieren, ist die installierte Größe um 18,5 MB und wenn ich meine App auf einem alten Samsung Galaxy Ace (Mk1) installieren, für einige Grund, installiert es mit so ziemlich der gleichen Größe, wie Sie hier sehen:App install size die gleichen auf verschiedenen Gerätetypen

enter image description here

es läuft perfekt auf meinem Haupt-Telefon, aber offensichtlich die alte Galaxy Ace wirklich kämpft mit ihm.

Nun lade ich ein zufälliges Spiel aus dem Play Store und mit diesem einen kann man die Ergebnisse hier sehen:

enter image description here

Viel besser, es nimmt weniger Platz auf dem weniger fähiges Handy, als es funktioniert auf dem leistungsfähigeren Telefon.

Allerdings ist meine Frage, wo kann ich anfangen zu versuchen, herauszufinden, warum meine App nicht zeigen dieses gewünschte Verhalten?

Informationen über mein Projekt

I 4 Sätze von Grafiken in meinem Projekt zur Verfügung gestellt haben, und sie sind:

Graphics

  • XHDPI: Insgesamt 3.73MB
  • HDPI: Insgesamt 2,87 MB
  • MDPI: Tota l 1.33MB
  • LDPI: Insgesamt 1.03MB

Ton

  • OGG Tondateien: 202KB
  • MP3 Soundtrack: 5.6MB

Die (Unsigned und signiert) APK Datei ist ungefähr 16.02MB

Abgesehen davon gibt es eine classes.dex-Datei innerhalb der APK, die etwa 3,5 MB groß ist.

In Eclipse verknüpfe ich BaseGameUtils und Google-play-service-lib JAR-Dateien.

Ich weiß, dass mein Spiel etwas ressourcenhungriger ist als das andere Spiel, das ich heruntergeladen habe - aber das ist nicht der Punkt dieser Frage. Ich muss sicherstellen, dass die Größe der installierten App auf weniger fähigen Handys kleiner ist als "bessere", aber wie Sie sehen können, ist meine genau das gleiche.

Jede Hilfe wäre willkommen.

bearbeiten

Weitere Informationen, wenn es hilft:

Das Samsung Galaxy Ace läuft Android 2.3.4 Lebkuchen

Das andere Telefon Android 4.4.2 Kit Kat läuft

+0

Haben Sie proguard auf Ihre Anwendung aktiviert? – George

+1

Ja @georgerappell Proguard ist aktiviert und funktioniert. Das Problem ist nicht, dass das exportierte/signierte APK nicht verkleinert wird - weil es das Problem ist, dass der Installations-Footprint auf diesen 2 Geräten der gleiche ist, während jede andere App, die ich installiert habe, eine deutlich reduzierte Installationsfläche hat auf dem Galaxy Ace - danke! – Zippy

Antwort

6

die Antwort ist das Bild .. Sie sehen android apps sollen angeben können Orte, an denen Anwendungen installiert werden, ob intern oder Aussen- Sie, dass in Ihrem Android-Manifest-Datei tun können

android:installLocation="auto" 

Ein Blick auf Ihre app Sie aus dem Screenshot der Einstellungen haben Sie dieses Element in Ihrem Manifest nicht angegeben, daher ist die Schaltfläche "move_to_sdCard" inaktiv. Y unsere Anwendungen installiert im internen Speicher

auf die andere App kommen, auf dem Screenshot suchen Sie werden sehen, dass die „move_to_phone Taste“ aktiv ist, weil sie diese Funktion daher festgelegt, da es auf nicht genug Platz war Ihr Gerät es automatisch installiert Ihre App auf dem internen externen Speicher oder streng externen Speicher .. Aber wenn diese Funktion eingestellt ist nicht alle Ressourcen oder Dateien auf dem internen externen Speicher installiert sind sie geteilt, so dass die Größe getrimmt wird der Prozess also, der Ausgang.

Wenn Sie über die Verzögerung Ihrer App sprechen, müssen Sie sich ziemlich genau in Ihre Codes einarbeiten. auch neuere apis enthalten Funktionen die alten nicht haben, daher müssen Sie die Arten von Codes neu bewerten Sie wählen ..

hoffe, ich bin klar genug

+1

Brilliant - das war die richtige Antwort! - Ich lege das in mein Manifest und jetzt registriert sich meine App nur als 6.87MB und nicht als 18.49, wie im Screenshot oben gezeigt. – Zippy

1

Wahrscheinlich die "andere App" verwendet die Multiple APK Technik, um die App im Play Store zu veröffentlichen. Mit dieser Funktion können Sie mehrere APKs erstellen und bereitstellen, die jeweils auf einen bestimmten Bildschirm für die Gerätedichte ausgerichtet sind. Auf diese Weise können Sie die apk-Dimension reduzieren, da jede apk nur die Ressourcen für sein Ziel hat und der Play Store automatisch den richtigen liefert.

+0

Ich denke nicht, dass es @Pollizzio ist, wenn ich die APK-Größe im Play Store für diese andere App anschaue, meldet es die gleiche Größe auf beiden Geräten. Auch, und das wahrscheinlich mehr sagen, ich habe die APK heruntergeladen der App, die ich verwendet habe, um dies zu testen, und installierte es manuell auf meinen 2 Geräten, die gleiche APK, völlig unterschiedliche Installation Fußabdrücke, so ich vermute, es gibt einen Schritt, ich vermisse irgendwo – Zippy

+0

vielleicht? http://developer.android.com/google/play/expansion-files.html – Pollizzio

+0

Leider bezweifle ich, dass es entweder @Polizzio ist, Erweiterungsdateien sind für .APK-Dateien, die> 50MB sind, soweit mir bekannt ist. Die APKs, die wir verwenden, sind bei weitem nicht so, hätten also keinen Grund, Erweiterungsdateien zu verwenden, und sie laden nichts herunter, nachdem Sie sie ausgeführt haben, und es würde immer noch nicht erklären, warum der ursprüngliche Installationsfußabdruck anders ist. Danke trotzdem :-) – Zippy