1

J'ai les allocations CFArray et CFString en rouge tout en vérifiant sur l'objet Alloc.Les allocations d'objets deviennent fous

L'objet semble être vivant mais n'est pas utilisé, ceci parce que la partie utilisée de l'histogramme est 1/10ème de l'histogramme total (qui est devenu rouge) dans les deux cas.

l'application est une application de photothèque avec 7 contrôleurs de vue. Chargement des images miniatures pour chaque contrôleur de vue individuel, puis chargement de l'image selon les besoins. Juste aller et venir entre deux contrôleurs de vue continue de pousser l'histogramme CFArray vers le haut. Laissez-moi savoir si l'affichage du code ici pourrait aider.

Merci, P

+0

Quelle langue est-ce? Pourriez-vous s'il vous plaît spécifier dans le commentaire ou une étiquette. – Skurmedel

+0

Désolé. Objectif C. IPhone. –

Répondre

1

Code d'affichage sera toujours aider. En l'état, votre question est très générale et, par conséquent, la réponse sera très générale aussi. Du son, il ne semble pas que vous ayez nécessairement une fuite autant qu'une situation où vous êtes surpris par le nombre d'objets éphémères créés.

Si les performances de votre application ont un impact sur votre application (si celle-ci est léthargique ou ne répond pas), une enquête plus approfondie s'impose. Si ce n'est pas un problème de perf, alors je ne m'inquiéterais pas trop (mais je considérerais ce qui se passe quand l'ensemble de données augmente).

Si vous voulez analyser plus loin, déterminez d'où proviennent les objets. Les instruments fourniront les backtraces des points d'allocation. Choisissez un ensemble aléatoire des objets qui sont venus et disparus et cliquez pour voir les traces de pile et/ou les événements liés à l'allocation de cet objet. Si vous voyez la même pile répétée souvent, cela vous donne un très bon point de départ pour déterminer comment réduire le bavardage de la mémoire dans votre application.

Cette trace de pile sera aussi un très bon morceau de contenu pour former une nouvelle question ou étendre cette question.