2013-02-21 10 views
7

Desidero memorizzare alcuni file video/audio nella cartella raw della mia applicazione.Limite di archiviazione nella cartella raw e asset in Android

Non conosco il limite di archiviazione della cartella raw e delle risorse.

Qualcuno può dirmi quanti dati posso memorizzare nella cartella raw e asset.

E anche se immagazzino dati di massa in tali cartelle, influirà sulla velocità di esecuzione o sulla dimensione dell'applicazione da scaricare dal mercato?

Grazie in anticipo.

+5

Ogni file in asset o raw deve essere inferiore a 1 MB prima della compressione. La dimensione totale dell'APK non può superare i 50 MB; se lo fa, avrai bisogno di un apk di espansione. – 323go

+0

@ 323go: ok, quindi posso aggiungere dati nella cartella raw fino ad allora la mia dimensione di apk è inferiore a 50 MB. è? –

+0

Puoi. Tuttavia, potrebbe essere una buona idea caricare separatamente i contenuti ricchi. Rende per installazioni e aggiornamenti più veloci. – 323go

risposta

12

Non ci sono limiti su nessuna risorsa ora dopo Android2.3 rilasciare il nuovo aapt. La limitazione è causata dal vecchio aapt per la ragione della peformance di sistema e non dovrebbe accadere ora.

+0

Come fai a saperlo? Grazie. – aleb

+0

@aleb ecco l'articolo http://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-apps/ – futurexiong

9

Secondo The reason for Assets and Raw Resources in Android:

Le principali differenze tra la cartella raw e la cartella Assets.

  • Dal crudo è una sottocartella di risorse (res), Android genererà automaticamente un ID per qualsiasi file che si trova al suo interno. Questo
    ID viene poi memorizzato un l'R class che fungerà da riferimento per
    un file, il che significa che può essere facilmente accessibili da altre classi Android
    e metodi e anche in file XML di Android. L'utilizzo automatico dell'ID generato automaticamente è il modo più rapido per accedere a un file in Android.

  • La cartella delle risorse è una directory "appendice" "appendice". La classe R non genera ID per i file posizionati lì, quindi è meno compatibile con alcune classi e metodi Android . Inoltre, è molto più lento accedere a un file al suo interno, poiché è necessario ottenere un handle basato su una stringa. C'è anche un limite di dimensioni 1MB per i file inseriti in questo numero, tuttavia alcune operazioni sono più facilmente eseguite da collocando i file in questa cartella, come la copia di un file di database nella memoria del sistema. Non c'è (facile) modo di creare un riferimento XML Android ai file all'interno della cartella Risorse.

Il limite su qualsiasi risorsa che sarà compresso dal apk è 1 MB, sia nella directory crudo o tra le attività. Questo perché è compresso da apk in fase di compilazione e fa affidamento sulle risorse hardware del telefono sul ricevitore per decomprimerlo. Viene imposto un limite di 1 MB in modo che un telefono possa decomprimerlo, anche con risorse limitate.

Scopri di più nel HERE l'uso della cartella raw sulle sue dimensioni e molti altri. Controllare anche il blog limite di dimensioni del file delle app

+0

come ha detto il 323go e ho letto su di esso la dimensione del file non dovrebbe essere superiore a 1 MB. –

+0

Controlla la mia risposta aggiornata. – GrIsHu

+0

grazie per la risposta. –

-1

Davanti ci sono tanti problemi mentre si carica la grande dimensione dei file direttamente dalla cartella delle risorse o dalla cartella raw. Alcune volte è possibile causare un errore di vm di budget in Android.

Per risolvere il problema Collocare le risorse in un server. Caricali durante la primissima installazione della tua applicazione e memorizzali nella scheda SD. E accedili nell'applicazione dalla scheda SD ...

Problemi correlati