2009-01-29 4 views
1

Leaks:Instruments Analyse des lectures

None 

ObjectAlloc:

Net Bytes: 4,332,512 
# Net: 26,696 
Overall Bytes: 103,769,552 
# Overall: 738,987 

Activity Monitor (MyApp):

# Thread: 6 
Real Memory: 63.65 MB 
Virtual Memory: 209.45 MB 

Le moniteur de mémoire affichait les mêmes valeurs que le moniteur d'activité. Je ne sais pas si ces lectures sont bonnes ou mauvaises. La mémoire indiquée par Activity Monitor est horrifiante. Devrais-je m'inquiéter? Puis-je en quelque sorte estimer la mémoire utilisée par l'application une fois qu'il est déplacé vers l'appareil. La mémoire réelle du temps d'exécution? Merci.

Répondre

4

L'utilisation de la mémoire telle que rapportée par Object Allocation n'est pas très autoritaire, du moins selon mon expérience. Le vrai problème est la consommation réelle de la mémoire telle que rapportée par Memory Monitor, voir my question on iPhone memory consumption. Vos chiffres semblent être mesurés dans Simulator, une telle mesure est sans valeur. Vous devez mesurer sur l'appareil.

+0

J'ai vu votre post, et si le moniteur de mémoire me donne la vraie lecture, alors je pense que je suis en difficulté - mais ces lectures sont sur simultor (je devine que la mémoire consommée sur l'appareil sera la même? presque pareil). Un conseil? – Mustafa

+0

C'est une énorme différence, est-ce que je manque quelque chose? – Mustafa

+0

Dans de nombreux cas, les mesures sur le simulateur sont complètement désactivées. Vous devez essayer sur l'appareil, il n'y a pas d'autre moyen. – zoul

2

L'objet Alloc rapporte à la mémoire totale utilisée pendant toute la durée de l'analyse. Cela signifie que si des objets sont alloués et désalloués (ce qu'ils sont souvent), vous voyez toute la mémoire consommée au total. Il est beaucoup plus utile de sélectionner l'option "créé et encore vivant", puis de mettre en surbrillance les régions du graphique où la mémoire augmente mais elle ne descend jamais si vous vous attendez à ce que ce soit le cas. Ensuite, vous pouvez voir combien de mémoire est allouée à ce moment-là et quelle est l'allocation. Cela fonctionne dans le simulateur ainsi que l'appareil.

+0

"Ensuite, vous pouvez voir combien de mémoire est allouée à ce moment-là et quelle est l'allocation." Comment puis-je vérifier ce qui l'attribue. Je peux sélectionner les zones et le graphique me montre en octets indiquant combien de mémoire a été consommée. Et combien précis est "créé et toujours vivant". – Mustafa

+0

La façon la plus simple de voir ce qui alloue ce qui est en mode arborescence (une des icônes du bas) et de divulguer les éléments pour chaque bloc de mémoire jusqu'à ce que vous trouviez ce qui consomme de la mémoire. Le "créé et toujours vivant" est assez précis. –