2011-09-21 5 views
0

Quelle est la limite de taille pour les données utiles JSON pour une application iPhone? Je crée une application de saisie de temps et je livre à l'application iPhone tout le temps qui a été entré pendant une semaine pour l'utilisateur de l'iPhone. Les tailles de données JSON ont été de l'ordre de 15 à 20 Ko pour une semaine de données (dates, noms de projets, heures par jour, etc.). Est-ce trop grand? Quelle est la bonne taille de plage pour que les données JSON soient transférées vers les appareils iPhone?iphone json limitation de la taille des données

Merci

Répondre

1

En fait, pour le moment, toutes les bibliothèques analyse JSON sur l'iPhone sont des tiers. Il y en a plusieurs, donc leurs limites de mémoire spécifiques vont varier d'une bibliothèque à l'autre, mais je pense que n'importe lequel d'entre eux devrait être capable de gérer 15-20 Ko, puisque tout parseur JSON qui ne pourrait pas gérer autant de données serait de peu d'utilité pour quiconque.

Pour l'enregistrement, j'ai habituellement utilisé JSONKit sans problème avec des tailles dans les centaines de kilo-octets. Dans le cas où vous téléchargez tout le fichier JSON en entier et que vous l'analysez plus tard, il semble généralement donner le best performance. En ce qui concerne l'utilisation de la mémoire, si, à l'avenir, vous trouvez que vos fichiers JSON sont si gros que vous ne pouvez pas les analyser, vous pouvez également essayer de passer à un analyseur de flux qui analyse les résultats au fur et à mesure du réseau. Certaines bibliothèques JSON comme YAJL prennent en charge cette fonctionnalité.

+0

Merci beaucoup –

+0

Indépendamment de la longueur des données/du texte, il semble y avoir une limite pratique en termes de nombre maximum de choses pouvant être dans un objet JSON. Je suppose que cela est lié à des pointeurs d'objet résidant sur la pile, car j'obtiens des problèmes de débordement de pile bizarres lorsque j'essaie de travailler avec des objets JSON qui contiennent environ 62 000 champs. Les threads d'arrière-plan dans iOS ont une taille de pile de 512 Ko, ce qui autorise un maximum de 64 000 pointeurs sur la pile (en supposant des pointeurs 64 bits), et c'est la seule explication que je puisse donner. application à planter. – aroth

Questions connexes