AVISO: Cualquier pregunta que no cumpla ninguno de estos criterios podrá ser borrada sin previo aviso.

tengo fondo que es un UIImageview y quiero agregarlo una imagen de fondo. Lo hice de 3 formas posibles.

PASO 1

UIIMage * aux = [UIImage imageNamed:@"fondoIpad.png"];
fondo.image = aux;
[aux release];

Analisis : Al poner analyzer, me salio , "incorrect decrement of the reference count of an object".

PASO 2

UIIMage * aux = [[UIImage imageNamed:@"fondoIpad.png"] autorelease];
fondo.image = aux;

Analisis : al poker analyzer, "Ignore 'Object sent -autorelease too many times" warning"

PASO 3

fondo.image = [UIImage imageNamed:@"fondoIpad.png"];

Analisis: No me salió nada.

Quisiera saber si la tercera forma es la correcta, gracias

preguntado 19 Ene '12, 16:14

Dunkelheit's gravatar image

Dunkelheit
209192532


Si , la tercera es la correcta , pero si quieres tener mas control sobre el consumo de memoria , deberias usar:

UIImage *img = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"fondoIpad" ofType:@"png"]];
fondo.image =img;
[img release];
enlace permanente

respondido 19 Ene '12, 17:51

StaS's gravatar image

StaS
5.1k953

Gracias por la respuesta, entonces se puede confiar en el analizador del xcode ?

(20 Ene '12, 06:37) Dunkelheit

Recientemente tuve muchos problemas de memoria y todo debido a imageNamed. Este método genera una copia de la imagen en cache, para poderla utilizar de nuevo en cualquier momento si fuera necesario. De la copia en caché pierdes completamente el control de la gestión de memoria. Este solo se liberará cuando tu app reciba un memoryWarning, momento que ya puede ser demasiado tarde, ya que tienes varios números para obtener un crash. imageNamed solo debe implementarse en el caso que sepas que vas a acceder a dicha imagen de manera reiterada y con tamaños muy controlados.

tal y como dice StaS te recomiendo hacer uso de initWithContentOfFile.

Encontré muy útil este enlace: imageName is Evil

Un saludo.

enlace permanente

respondido 20 Ene '12, 09:25

McFlys's gravatar image

McFlys
11115

Tu respuesta:
Activar/desactivar vista previa

Sobre esta pregunta

Etiquetas de la pregunta:

×244
×200
×10
×3

Pregunta realizada el: 19 Ene '12, 16:14

Pregunta visitada: 579 veces

Última modificación: 20 Ene '12, 09:25

Seguir esta pregunta

Por Email:

Una vez que entres podrás suscribirte desde aquí para recibir actualizaciones

Por RSS:

Respuestas

Respuestas y Comentarios

Realizar Donación