Préférences partagées "limite"

Je sais qu'une question similaire à celle-ci a été posée à de nombreuses reprises, et en parcourant SO, j'ai partiellement trouvé une réponse, mais pas complète, et les documents Android ne sont pas vraiment utiles. De toute évidence, je sais comment ils fonctionnent et ont utilisé des préférences partagées plusieurs fois auparavant, mais je me demande à quel point (combien) est trop, j'ai lu les gens avaient ~ 100KBS stockés sans aucun problème. Long histoire courte – Quelqu'un a-t-il eu des problèmes avec trop de données stockées dans les préférences partagées et quel problème, les données sont-elles supprimées ou?

** ce n'est qu'une question par curiosité, j'ai déjà mes grandes valeurs stockées dans SQL DB, je me demandais ce qui serait et s'il y avait des problèmes si quelqu'un pour quelque raison a tout stocké dans les préférences partagées

  • Comment lancer un PopupWindow ou une boîte de dialogue à partir d'un service de méthode d'entrée?
  • Où puis-je voir les styles.xml par défaut dans Android?
  • Application pour charger les mauvaises textures lors de l'ouverture à nouveau
  • Création d'un projet Android à partir de la ligne de commande avec Eclipse
  • Suppression des extras de l'intention passée
  • Comment obtenir le résultat de la caméra en tant que URI dans le dossier de données?
  • Comment configurer la minuterie pour appeler une fonction toutes les n minutes?
  • Android: Fragments, SQLite et chargeurs
  • Définir la position / la taille de l'élément UI en pourcentage de la taille de l'écran
  • Comment exécuter des applications externes, téléchargées mais pas installées sur Android?
  • Android: Quitter le Looper?
  • Obtenir SSID lorsque WIFI est connecté
  • 3 Solutions collect form web for “Préférences partagées "limite"”

    Étant donné que SharedPreferences est stockée dans un fichier XML et, par conséquent, il manque le support de transaction solide de SQLite, je ne recommanderais pas de stocker "100KBS" dans SharedPreferences .

    Cela étant dit, la limite de taille la plus basse dont je suis conscient sera votre espace de tas gratuit, car SharedPreferences lit le contenu entier du fichier XML dans la mémoire.

    À la lecture de votre question, je pense que vous ne devriez pas utiliser SharedPreferences, parce que (a) ils sont destinés à stocker beaucoup plus de quantités de données (d'où l'utilisation de XML), et (b) il existe de nombreuses alternatives simples.

    La seule chose «spéciale» concernant SharedPreferences est l'intégration avec l'Activité de Préférences pour afficher vos préférences à l'utilisateur, et cela n'est probablement pas applicable dans votre cas en fonction du montant que vous prévoyez de stocker. (Oh, également, SharePreferences gère les problèmes de concurrence pour vous.)

    Vous pouvez utiliser la sérialisation de Java pour stocker les classes de préférences dans les fichiers binaires. Ceux-ci seraient nettement plus petits que comparables PreferenceFile et peuvent facilement passer par GZIPInputStream pour le rendre plus petit (ou CipherInputStream) pour le crypter. J'ai trouvé que cette alternative était un moyen puissant, simple et multiplate-forme pour stocker des données d'application où la puissance de SQLite n'est pas nécessaire.

    (Désolé, ce n'est pas une réponse directe.)

    Il existe une limitation des données SharedPreference. Dans mon cas, il lance une exception de mémoire lorsque SharedPreference data croise 1428.51-kb.

    Il est donc préférable d'utiliser la base de données SQLite lorsque vous avez besoin d'énormes données à stocker.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.