J'utilise Instruments avec l'instrument Allocations. Je ne teste qu'une interaction fixe avec mon application.iPhone: Instruments Allocations en augmentation constante
J'ai un contrôleur de navigation qui va en profondeur 4 étapes. Les deux premières étapes sont des contrôleurs de vue de table standard et les deux derniers sont des contrôleurs personnalisés avec des images chargées dynamiquement.
Alors je lance mon application dans les instruments (via Run avec outil de performance -> Allocations) et faire les interactions suivantes:
1. App Loads
2. I wait a bit until allocations graph stabilizes
3. I tap/push into my navigation controller until the deepest level.
4. I wait for the images to load and for the allocations graph to stabilize.
5. I tap back out of the navigation controller until I'm back to the root level.
6. I wait for the allocations graph to stabilize.
7. GOTO 3.
Maintenant que je l'ai remarqué est que, entre chaque itération de 3 à 7 la Le graphique des allocations montre une valeur légèrement plus élevée. Ainsi, les allocations globales augmentent même si je fais la même chose et que tous les deallocs du contrôleur de vue sont appelés.
Ainsi, la chronologie ressemble à peu près comme ceci:
1. Start: 1mb
2. Push controllers/Load images: 4mb
3. Pop controllers: 1.1mb
4. Push controllers/Load images: 4.1mb
5. Pop controllers: 1.2mb
6. ... etc ... (always increasing slightly)
Donc ma question est ce que cela signifie que j'ai une fuite ou est-ce normal? En outre, que représentent réellement les données du graphique d'allocation? Et pourquoi la valeur augmente-t-elle même si je reviens à l'état initial? Je suis inquiet que si mon application fonctionne assez longtemps, elle consommera trop de mémoire, même si tout ce que fait l'utilisateur est de pousser et d'ouvrir les contrôleurs de vue.
Toutes les pensées seraient utiles.
Merci pour la suggestion. Vous avez raison, en utilisant les instruments de fuite, j'ai découvert 3 fuites dès le départ. Je vais devoir creuser pour voir ce qui se passe exactement. – nebs
Si vous avez un contrôleur de vue que vous appuyez sur, puis sur pop, l'utilisation de la mémoire doit-elle être exactement la même qu'avant la première utilisation? ou est-ce normal qu'il monte ~ .2mb? –