2010-10-01 2 views
1

J'ai une application qui met en cache une quantité assez importante de données en mémoire après l'analyse d'un fichier csv, et affiche également un MKMapView. Après avoir fait défiler à travers le pays d'un bout à l'autre dans le MKMapView, l'application me donne inévitablement un ou plusieurs:MKMapView: avertissement de mémoire reçue. Level = 2

Received memory warning. Level=1 
Received memory warning. Level=2 

et bloque finalement en raison de la faible mémoire. J'ai essayé de trouver un moyen de gérer soit la mémoire de MKMapView ou mes propres données (qui proviennent d'un fichier csv - le fichier csv doit être écrit fréquemment, donc je voudrais le garder en mémoire dans d'une certaine façon ou d'une autre, si possible, à moins d'un meilleur moyen de traitement de la question.

Toutes les idées?

Répondre

2

Utiliser des instruments pour déterminer la quantité de mémoire du CSV en cache prend vs le MKMapView. Si le CSV est le problème, puis regardez-le en utilisant CoreData ou sqlite

+0

Je ne suis pas familier avec les données de base encore - je pensais à apprendre cependant.Ce que les données de base feront pour mes problèmes de mémoire – JoBu1324

+0

CoreData permettra vous à stocker vos données sur le disque au lieu de la mémoire. Ceci est important si vous avez trop de données à stocker en mémoire. – tidwall

+0

Core Data était la réponse, et tout à fait l'expérience d'apprentissage. Cela n'aide pas beaucoup avec NSZombieEnabled cependant! – JoBu1324

Questions connexes