Pergunta

Vamos dizer que tenho um código como este ...

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

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

Eu também quero animar o item de status então eu criei 6 variantes do ícone "atualizar" item de status e loop-lo sobre um NSTimer, com método de destino semelhante ao anterior. As perguntas são:

  1. Como posso eficiente atribuir uma imagem? por exemplo. Está tudo bem se eu usar uma retidos / pré-carregado NSImage?
  2. Existe uma maneira de animar o item de status de uma forma mais eficiente? Eu não sei qualquer coisa Core Animation, por isso, tenha comigo.
Foi útil?

Solução

Como diz o provérbio, otimização prematura é a raiz de todo o mal. Meça em primeiro lugar, em seguida, otimizar o que for lento, em seguida, medir novamente para ter certeza que ajudou.

Dito isso, imageNamed: é lento. Você quase sempre deve usar NSBundle e -[NSImage initWithContentsOfFile:] vez.

é OK se eu usar um retidas / pré-carregado NSImage?

Por que você não? E por que o cuidado item de status se a imagem é mantida por outra coisa ou não?

Existe uma maneira de animar o item de status de uma forma mais eficiente?

setImage: é a única maneira. Contanto que você não está carregando cada imagem de cada vez, você não deverá ter problemas de eficiência.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top