如何有效地分配NSStatusItem图像和alternte图像?
-
19-09-2019 - |
题
让我们说有一个这样的代码...
- (id) init {
...
self.myImage1 = [NSImage imageNamed:@"some_image_name"]; // setter retains
...
}
- (void) setStatusItemImage
{
[self.statusItem setImage:self.myImage1];
}
我还要激活状态的项目,所以我创造了6种变体"更新"地位项目标和环它在NSTimer,与目标的方法与上述类似。问题是:
- 我如何可以有效地分配图像?例如它是确定如果我用了保留/预装NSImage?
- 有没有办法激活状态的项目的一个更有效的方式?我不知道任何核动画的东西,所以请原谅我。
解决方案
正如谚语所说,过早的最优化的根源的所有邪恶。衡量第一,那么最优化,无论是缓慢的,然后再测一次,以确保它有所帮助。
这就是说, imageNamed:
是 慢。你几乎总是应该使用和NSBundle -[NSImage initWithContentsOfFile:]
代替。
它是确定如果我用了保留/预装NSImage?
为什么你不呢?为什么会状况的项目护理的图像是否是保留通过其他东西没有?
有没有办法激活状态的项目的一个更有效的方式?
setImage:
是唯一的方法。只要你不装载的每一个图像每次你应该没有效率的问题。
不隶属于 StackOverflow