2012-09-04 1 views
0

J'ai plus de 60 UIImageViews, et à chacun d'entre eux je demande un CLlayer de la manière suivante:CALayer ram gestion de la mémoire

image1.layer.cornerRadius = 6.0; 
       image1.layer.masksToBounds = YES; 

Quelle quantité de mémoire CLLayer utiliser? Puisque je le fais pour contenir les sous-vues de l'image dans l'image (non visible à l'extérieur de l'image, alors qu'elle est visible sans appliquer la couche), vaut-il mieux la supprimer et utiliser un autre code? si oui lequel?

Répondre

0

Laissez le système s'inquiéter de la gestion de la mémoire. 60 vues ne sont pas si nombreuses (6000 pourraient être). Chaque UIImageView est soutenu par un UIImage et un CGImageRef, et le système peut purger le CGImageRef au besoin pour faire de l'espace puisqu'il peut le recharger en utilisant l'information mise en cache dans l'UIImage.

Si vous souhaitez profiler votre utilisation de la mémoire, utilisez ObjectAlloc dans Instruments - si vous utilisez simplement toutes les valeurs par défaut d'Instruments, vous obtiendrez toujours beaucoup d'informations utiles.