J'ai 3 UIImages à UIScrollView et je suis ces images dans l'initialisation de la manière suivante:problème d'allocation UIImage
UIImage *dimage = [[UIImage alloc] initWithData:data];
Lorsque les données est un NSData obtenu à partir de la demande d'URL. Après cela, je cache les images. Lorsque je vérifie l'allocation de mémoire, les 3 images occupent chacune 472 Ko et l'allocation a été demandée par "img_data_lock" de la bibliothèque CoreGraphics. Lorsque je vérifiais la taille de cette image sur le cache disque, elle mesurait 230 Ko chacun. Je ne sais pas comment cela peut prendre plus de place. J'espère que ma question est claire.
grâce à TechZen, le cache disque signifie "/Library/Cache" dossier sur le périphérique, je l'utilise pour le cache temporaire.
donc je ne peux rien faire. – Nnp
Je ne pense pas que vous ayez un problème. Il y a très peu de corrélation entre la taille des données sur le disque et la taille des objets en mémoire. L'objet UIImage sera toujours plus grand que les données sauf s'il purge les données. Rappelez-vous, les données ne sont pas l'objet UIImage lui-même, mais juste un morceau de celui-ci. L'objet UIImage doit stocker d'autres informations en plus des données brutes. Cette autre information la rend plus grande que les données. – TechZen
Merci TechZen, je étais juste préoccupé par la mémoire, lorsque la mémoire a augmenté de 1 Mo en passant à cette vue particulière de sorte qu'il attire mon attention. alors maintenant je ne garde que 3 images à la fois dans scrollview juste pour économiser de la mémoire. – Nnp