86 votes

Instruments ObjectAlloc : Explication des octets direct & globales octets

Je suis à l'aide d'Instrument de ObjectAlloc outil dans une tentative de comprendre ce que la mémoire de mon application (iPhone) est en train de faire et quand et où il le fait.

J'aimerais bien une explication de base de ces statistiques:

  • Vivre Octets
  • #Vie
  • #Transitoire
  • Ensemble D'Octets

Quand je suis en train de travailler la mémoire de ma demande, je suis de regarder en Direct Octets ou de l'Ensemble d'Octets? Est-ce à inclure une fuite de mémoire? Ce sont Transitoires objets?

Merci

110voto

Ken Aspeslagh Points 8363

ObjectAlloc pistes allocation de la mémoire et de libération de la mémoire au cours de la durée de votre programme est en cours d'exécution.

L' Living bytes, or Net bytes est la quantité de mémoire de votre application en utilisant à la fois que vous sélectionnez dans la timeline. Qui comprendra une fuite de mémoire, depuis la perte de mémoire n'est jamais libéré.

#Living est le nombre d'allocations d'une certaine taille/type d'objet qui s'est passé (et sont encore attribués). Ceci est très utile lors de la recherche de fuites.

Par exemple, si vous répétitive effectuer une action (comme venant d'un modal-vue-contrôleur), et vous voyez qu' #Living d'un objet se développe par la même quantité à chaque fois, alors vous êtes probablement une fuite de ces objets. Vous pouvez alors confirmer par forage vers le bas et voir l'exacte ligne de code qui est d'allouer les objets, et même voir l'index de temps chacun a été créé.

Overall bytes comprend une mémoire qui a été publié. Il est utile de s'assurer que le numéro de la performance à des fins d'optimisation, mais pas si vous êtes juste essayer de voir votre empreinte mémoire ou de rechercher des fuites.

18voto

Pranav Points 1348

Explication de stats de la documentation d’apple. Lien vers le document

enter image description here

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X