J'ai des problèmes de mémoire avec les iPhones de génération antérieure (ipod touch 1st gen, 2nd gen e.t.c). Cela est dû à la quantité de mémoire allouée lorsque je charge et stocke un dictionnaire de mots de 170k.Mémoire efficace et rapide Stockage/Accès au dictionnaire iPhone/Android
Ce code (très simple):
string[] words = dictionaryRef.text.Split("\n"[0]);
_words = new List<string>(words);
Cette alloue au démarrage autour de 12 Mo de stockage, iPhone a autour Je pense que 43MB. Alors que + textures + sons + l'OS il a tendance à se casser.
Vitesse sage, l'accès en utilisant une recherche binaire est très bien. Mais le stocker dans la mémoire plus efficacement (et le charger plus efficacement).
Le texte.Split semble prendre beaucoup de mémoire de tas.
Un conseil?
Qu'est-ce que '" \ n "[0]'? Ne pourriez-vous pas utiliser '\ n'? – jv42
Une vraie question maintenant: pourquoi avez-vous besoin d'une liste au lieu d'un tableau simple? – jv42
J'estime que 170 000 mots avec (en moyenne une surestimation) de 10 caractères (à un octet chacun) ne devraient occuper qu'environ 1,7 Mo. Stocker les données sous la forme d'un tableau de tableaux char ne devrait occuper que peu de mémoire. –