2009-07-26 12 views
1

...NSStatusItemイメージとalternteイメージを効率的に割り当てる方法は?のは、私はこのようなコードがあるとしましょう

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

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

私もターゲットに、私はNSTimerを超える「更新」ステータス項目アイコンやループ、それを6つの亜種を作成したので、ステータス項目をアニメーション化します方法と同様である。質問は:

  1. 効率的に画像を割り当てるにはどうすればよいですか?例えばNSImageを保持/プリロードしても問題ありませんか?
  2. ステータス項目をより効率的にアニメーション化する方法はありますか?私はCore Animationのことを知らないので、私に抱きしめてください。

答えて

5

早すぎる最適化はすべての悪の根源です。最初に測定し、遅いものを最適化してから、もう一度測定して助けていることを確認してください。

つまり、imageNamed:です。ほとんどの場合、NSBundleと-[NSImage initWithContentsOfFile:]を使用するべきです。

保持されている/プリロードされているNSImageを使用しても問題ありませんか?

なぜでしょうか?なぜ画像が何か他のものによって保持されているかどうかは、ステータス項目が気にするのでしょうか?

ステータス項目をより効率的にアニメーション化する方法はありますか?

setImage:が唯一の方法です。毎回各イメージをロードしていない限り、効率の問題はありません。

関連する問題