Pregunta

Vamos a decir que tengo un código como este ...

- (id) init {
    ...
    self.myImage1 = [NSImage imageNamed:@"some_image_name"]; // setter retains
    ...
}

- (void) setStatusItemImage
{
    [self.statusItem setImage:self.myImage1];
}

También quiero animar el elemento de estado así que creé 6 variantes de la "actualización" icono del elemento de estado y el bucle a través de una NSTimer, con el método de destino similar a la anterior. Las preguntas son:

  1. ¿Cómo puedo asignar de manera eficiente una imagen? p.ej. ¿Está bien si uso un / precargado NSImage?
  2. retenido
  3. ¿Hay una manera de animar el elemento de estado de una manera más eficiente? No sé cualquier cosa Core Animation, así que por favor tengan paciencia conmigo.
¿Fue útil?

Solución

Como dice el proverbio, la optimización prematura es la raíz de todo mal. Mida primero, y luego optimizar lo que sea lento, y luego medir de nuevo para asegurarse de que ayudó.

Dicho esto, imageNamed: es lento. Casi siempre se debe utilizar NSBundle y -[NSImage initWithContentsOfFile:] lugar.

  

¿Está bien si uso un retenido / precargado NSImage?

¿Por qué no? ¿Y por qué le importaría el elemento de estado si la imagen es retenida por otra cosa o no?

  

¿Hay una manera de animar el elemento de estado de una manera más eficiente?

setImage: es la única manera. Mientras usted no va a cargar cada imagen cada vez, que no debería tener problemas de eficiencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top