2

我的应用中有一些图标可以在多个视图中重复使用(例如收藏图标)。

为了节省内存,我想知道是否使用带有加载静态图像的类方法的类是个好主意?

例如 :

+ (UIImage *)favoriteIcon {
    static UIImage * icon;
    if (!icon)
        icon = [UIImage imageNamed:@"favorite.png"];
    return icon;
}

或者我应该+ (UIImage *) imageNamed:(NSString *)name每次需要时使用?

谢谢你的建议。

4

1 回答 1

6

[UIImage imageNamed:]已经在幕后做了类似的事情。实际上,它更聪明,因为它还可以在内存不足且不需要立即使用图像时转储图像,而您的favoriteIcon方法会永久加载它们。

一般来说,在您构建应用程序并对其进行分析以查看需要改进的方式/地方之前,最好避免进行此类优化。否则你就是在浪费时间,甚至可能让事情变得更糟。我建议你学习如何使用 Instruments 来分析你的应用程序,这有点复杂,但一旦你掌握了它就会很有趣。

于 2013-06-20T15:54:24.397 回答