2013-01-18 2 views
13

Ho una domanda abbastanza valida da parte di un utente che non riesco a capire perché la dimensione riportata su Google Play Store è diverso dalla dimensione riportata sul dispositivo. La mia versione APK con rilascio firmato sul mio PC arriva a 3,8 MB. Il caricamento su Google Play mostra una dimensione simile. Guardando il direttore app sul dispositivo però presenta le seguenti statistiche:Perché la dimensione della mia app sul dispositivo è diversa dall'APK o dalla dimensione del Play Store

Total: 6.62MB 
App: 6.51MB 
Data: 112KB 

Questo non è a che fare con Google Play protezione dalla copia abilitato (come altre domande simili sugget) mentre ottengo le stesse stat l'installazione del APK firmato o APK di sviluppo.

L'APK sul telefono sotto/data/app è di nuovo 3,8 MB ei file in /data/data/com.my.app arrivano a un altro 100 KB circa (presumibilmente la riga "Dati" sopra).

Che cosa sta causando la discrepanza nelle statistiche?

MODIFICA: ricercando ulteriormente, questa è una caratteristica comune a molte applicazioni sui miei dispositivi. Google Play riporta una dimensione e il dispositivo riporta qualcosa in generale di magnitudine 2 volte maggiore. Quindi è bello sapere che probabilmente non è qualcosa che sto facendo, ma ancora curioso di sapere qual è il ragionamento qui in quanto è frustrante essere accusato dagli utenti di "aggiustare" la dimensione dell'installazione per sembrare più piccola!

+0

Una volta ho aperto la cartella di sistema e ho visto un file dex vicino a ciascun file apk. Forse è in qualche modo correlato. – vorrtex

+0

Mostra il doppio della dimensione nel Play Store. è un processo regolare –

risposta

12

Quando si installa un APK nel sistema Android, viene installato il file DEX. Che contiene il tuo codice, risorse ecc compilate come binari. Il tuo dex è generalmente della stessa dimensione del tuo apk, a meno che tu non abbia risorse non compilate in risorse.

Beh, lo sappiamo tutti. Ciò che non è diffuso è che Android salva anche il tuo apk originale. Forse per la reinstallazione in caso di errori o per altri motivi.

Ecco perché la quantità di memoria delle nostre app è il doppio nel sistema. È la somma delle dimensioni dell'apk originale e del dex installato.

0

È come ogni altra applicazione software che verrà compressa inizialmente e realizzata come un singolo file da installare e al momento dell'installazione, estrarrà tutti i file (codice, risorse, le immagini, ecc.) Nel telefono. Questo è il motivo per cui la tua app sarà più memoria dopo essere stata installata in un telefono.

Per evitare questo, rendere l'applicazione un server lato e chiedere l'autorizzazione obbligatoria per Internet in modo che è possibile inviare i dati senza consumare più memoria per l'app.