2011-06-19 9 views

Respuesta

13

UIImage proporciona ninguna manera obvia de contar la memoria de los datos subyacentes. Sin embargo, podríamos usar Core Graphics para darnos la estimación. Probablemente se podría obtener una estimación de la memoria ocupada por una imagen haciendo

size_t imageSize = CGImageGetBytesPerRow(image.CGImage) * CGImageGetHeight(image.CGImage); 

Pero yo sugeriría que no basar cualquier gestión de imágenes en esto. Realmente no sabes cuánta memoria tendrás contigo. Intenta minimizar la cantidad de imágenes que has cargado en la memoria. Básicamente, optimiza según sea necesario.

+0

Cómo optimizar la imagen que estoy cargando – Lakshmi

+0

cómo puedo imprimir size_t tipo – Lakshmi

+0

'size_t' es un' unsigned long' así que use '% lu'. Sugiero leer ['this'] (http://iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html) para obtener información sobre imágenes. Cuando hablaba de optimización, estaba hablando de gestión de imágenes y no de imágenes. Pero espero que se asegure de que la imagen sea de un tamaño específico. No tome una imagen de alta resolución para una vista de imagen pequeña. Si se trata de imágenes con zoom que necesitan ser de alta resolución, también puede mirar 'CAScrollLayer's. Si no necesita una imagen con frecuencia, no use 'imageNamed:' ya que almacena en caché las imágenes. –

Cuestiones relacionadas