[Résolu] Leaks instrument
Bonjour,
je travaille depuis trois jours sur Leaks Instruments, et je deviens chèvre.
Je ne sais pas vraiment comment interpréter tout ça.
Je parviens à faire apparaitre de temps en temps l'endroit ou mon code déconne.
J'ai résolu, il me semble quelques problèmes, puisque les leaks ne sont plus au même endroit.
Enfin, j'ai quand même toujours un leak qui persiste.
Je met mon code puis des copies écran, dont j'espère avoir une interprétation ou une méthode de pistage de l'erreur.
Merci d'avance.
En gros, il s'agit de la fabrication du nom d'une photo
dans le :
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
avant de l'enregistrer.
L'enregistrement (dans le documentsDir) se fait bien puisque je la réaffiche bien.
à‰galement le nom (en string) dans le coredata.
Donc tout va bien à part le leak associé.
Auparavant je créai le nom avec la date (yyyy-MM-dd-HH-mm-ss) dedans, ainsi le nom de chacune des photos était différent des autres.
Pour palier au problème de leaks (car j'ai vu plein de galère sur le web sur les nsDate et NSDateFormatter et NSString...), j'ai donc décider de mettre plutôt un nombre aléatoire dans le nom.
Toujours le leaks.
J'ai donc mis un nom tout simple
"FrontalAlpha.png"
et j'ai les mêmes erreurs.
string init
string interpolation segment
Les copies d'écran
Si quelqu'un peut m'expliquer les icônes (valises, tasse à café, ...) de la partie droite - Auparavant j'en avais des tout noir.... et d'autre couleurs.
Je ne trouve nulle part comment les interpréter.
Et sur lesquels il faut souligner les bugs.
Voici les deux copies d'écran correspondantes aux 8e et 7e icônes en partant du haut.
J'ai des leaks sur ipad, je regarde donc tout ça d'abord sur le simulator, et c'est les mêmes problèmes.
Au fait, c'est normal que à chaque fois que je lance instruments (Pom I) sur le simulator aussi, ce soit hyper long, genre 5mns ?
Merci d'avance.
Réponses
Sur l'ipad, j'ai ça.
De toute façon, c'est toujours sur cette ligne que ça déconne - Même si je met "toto.png".
Pour ceux qui galèrent comme moi, j'ai enfin trouvé un bon petit tuto.
J'ai pas résolu mon problème, mais j'apprend à pister.
Y'a une raison particulière pour que tu type toutes tes chaines en NSString ?
Si la réponse est non laisse le inférer le type String en ne mettant rien. On va déjà commencer par ça.
Merci Pyroh pour ta réponse, tu as certainement raison, mais en attendant, j'en profite pour régler pas mal de problèmes dans mon code, susceptibles de gonfler la mémoire consommée
Voir ce post.
Je reviens ici bientôt.
Me revoilou.
ça ne change rien avec String. J'ai toujours des leaks quand je charge l'image avec le picker.
J'ai repéré ce truc !!!
Une idée ?
Le code :
En fait, le problème semble complètement débile.
J'ai un Leaks sur le imagePickerController (didFinishPickingMediaWithInfo), d'après ce que j'ai pu trouver sur Instruments.
Mais on ne m'en dit pas plus.
J'ai donc, petit à petit, mis en commentaire toutes mes lignes de code, et j'en arrive donc à un code de base, avec toujours le même Leaks.
Là , je suis bluffé, et j'aimerai bien qu'on m'explique pourquoi y'a un Leaks, alors que y'a plus de code.
Voilà la méthode - J'ai tout viré, et ça fait un Leaks :
Génial, non ?
Voilà ce que je récupère dans Instruments :
Là , faut qu'on m'explique. Y'a un truc qui me dépasse.
Mon imageView est ainsi :
Au départ :
Puis à sa construction :
Ces views sont imbriquées car il y a une histoire d'ombre et de masque...
Voilà , si quelqu'un a une idée, parce que là je suis vraiment bloqué.
Je vois pas d'où peut venir le problème.
Merci d'avance.
Bon, j'ai mis une imagerie bidon, et ça déconne plus.
ça veut dire que ça viendrait de mon imagerie de base qui est imbriquée dans un masque avec une ombre.
Faut que je trafique ça. Pffff
Désolé pour le dérangement.
Mais si quelqu'un a une idée, je met quand même le code de la construction de l'image masquée et ombrée.
Merci d'avance.
En tout cas, ça se précise. Génial.
Mais Instruments n'est d'aucune aide. Je croyais que c'était un programme génial.
Rien ne vaut le debtggage à l'ancienne.
Je sais, y'a des magicNumbers
Désolé, chevauchement avec un autre post.
Où j'explique ma solution et quelques précisions.