4

将 a 添加UIButtonUITableView. 下面是我设置UIButton图像的代码:

UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];

但是当我使用imageName:方法而不是imageWithContentsOfFile:方法时,它工作得很好。有人对这个问题有很好的解决方案吗?

4

1 回答 1

0

imageWithContentsOfFile:imageNamed:

据我所知,

imageNamed将图像加载到一个特殊的系统缓存中,然后使用该图像路径的未来调用将返回缓存中的图像,而不是从磁盘重新加载它。

imageWithContentsOfFile只是在您指定的路径上加载图像,但不进行缓存。对同一图像多次调用 imageWithContentsOfFile 将导致内存中有多个副本。

关于内存泄漏,我不确定在编程中使用大量图像时哪一个更适合使用...

于 2012-11-02T13:26:40.183 回答