2009-10-10 9 views
1

Je me demande combien de stockage de données est disponible pour mon application dans android?Android et espace de stockage de données?

J'ai besoin de mettre en cache beaucoup de fichiers, et je pensais à le stocker dans les préférences partagées, de cette façon il est supprimé si l'application est désinstallée. Après tout, c'est juste beaucoup de fichiers de cache. Je suppose que je pourrais également utiliser la SDCard, mais que je n'ai aucun contrôle de ce que l'utilisateur fait en dehors de l'application ...

Alors, combien de MB mon application peut-elle partager à partir de SharedPreferences lors du stockage de fichiers?

Répondre

3

Si vous envisagez de stocker des Mo de données, essayez d'utiliser la carte SD pour éviter de remplir le stockage souvent limité intégré dans le téléphone, en particulier sur le G1.

Si vous stockez des données sur le téléphone, chaque application possède sa propre zone de stockage qui sera également supprimée lors de la désinstallation de l'application.

Voir http://d.android.com/reference/android/content/Context.html#getDir(java.lang.String, int)

Pour les fichiers mis en cache, vous pouvez utiliser fichier cacheDir = getCacheDir(); qui renvoie le chemin d'accès au répertoire de cache spécifique à l'application sur le système de fichiers. Ces fichiers seront ceux qui seront supprimés en premier lorsque le périphérique sera à court de stockage.

Voir http://d.android.com/reference/android/content/Context.html#getCacheDir() pour plus d'informations

+0

J'ai fini mon stockage téléchargé jpg sur la carte SD ... mais je pourrais envisager d'utiliser le getCacheDir() sur ma prochaine version .. Merci –

2

Quel est le but de la mise en cache que vous souhaitez implémenter?

Si vous voulez éviter de télécharger des fichiers depuis Internet plusieurs fois, la SDCard ou SQLiteDatabase devrait être de bonnes options, selon le type de fichiers, vous travaillez avec. Si vous souhaitez conserver les fichiers dans la mémoire (par exemple, vous souhaitez conserver certaines bitmaps décodées dans le tas), il est préférable d'implémenter votre propre classe Cache.

SharedPreferences ne peut être utilisé qu'avec certains types de base (boolean, int, String, long, float) - donc Parcelable ne peut pas être placé dans les préférences de votre application.

Cela poserait un problème pour l'enregistrement des fichiers.

Questions connexes