2010-07-19 4 views
0

J'essaie de trouver toute la mémoire abandonnée en utilisant des instruments.Valeurs correctes pour la croissance en tas et toujours en vie sur l'allocation d'instruments

Le test de fuite a été passé et au moins il ne peut pas trouver de fuite de mémoire. Je fais des actions répétées entre chaque tas marqué, et la moyenne est de 100,00 ko pour la croissance du tas et 1000 objets en vie. Faisant une recherche rapide sur chaque instantané, j'ai trouvé 700 avec un tas de 64 kilo-octets.

Les autres sont des objets utilisés par Internes iOS, comme:

UIDeviceWhiteColor => responsable appelant + [UIColor allocWithZone:] et je ne trouve que malloc, mais pas la libération.

J'utilise le whiteColor comme ceci:

scoreLabel.textColor = [UIColor whiteColor];

Alors, tous ces objets sont vraiment en panne?

Ceci est un exemple complexe à déboguer/analyser car il navigue à travers 9 UIViewControllers, et chaque tour prend aprox. 2 minutes à compléter (l'utilisateur doit entrer quelques données ...)

Dans d'autres parties plus faciles de ce projet, le tas a vraiment 0 octet et 0 objet, mais c'est simple.

merci pour vos conseils,

salutations,

m.

Répondre

-1

Certaines choses seront mises en cache et ne seront donc pas libérées. Vous pourriez essayer de déclencher un avertissement de mémoire.

Je ne m'inquiéterais pas trop de petites fuites.

+0

Quel est le moyen de déclencher un avertissement de mémoire avec Instruments? – SkyEagle888

+0

Sur le simulateur, ** Matériel ** → ** Simuler l'avertissement de la mémoire **. Sur le périphérique, faites juste quelque chose comme '[[UIApplication sharedApplication] performSelector: @selector (_performMemoryWarning)] withObject: nil]' (API privée, donc ne l'envoyez pas à l'App Store!). Voir http://stackoverflow.com/questions/2784892/simulate-memory-warnings-from-the-code-possible –