我有 UITableViewController 在其 cellForRowAtIndexPath 方法中,如果关于 UITableViewCell 的某个条件为真,我将其 UIImageView 可见。在我的 Storyboard中,我已经有 UIImageView 带有分配的图像并默认隐藏。
我的问题是这样的。就限制我的应用程序的内存使用而言,将 UIImageView 分配给 Storyboard 中的图像并在需要显示时调用此代码是否更好? :
myCell.myImageView.image = [UIImage imageNamed"myImage.png"];
myCell.myImageView.hidden = NO;
我问这个是因为我想知道图像的不断重复是否会占用太多内存,即使它们被隐藏了,以及是否最好只在 UIImageView 时分配图像> 的 hidden 属性即将设置为 NO(使其可见)。
Best Answer-推荐答案 strong>
imageNamed: 缓存图像并在您的应用遇到内存警告时转储。
如果在多个位置使用相同的键 (@"myImage.png"),它会从相同的内存空间读取,并且不会创建位图的多个实例。
图像的内存问题通常会在您强烈持有大量大图像时出现。有很多策略,比如使用 SDWebImage 并让它处理你的图像缓存。
与往常一样,尽可能将图像大小调整为正在查看它的设备的大小,实现合理的缓存,不要太担心内存!
您可以使用“Debug Navigator”(命令 - 6)下的内存图表检查您的内存是否被占用,然后滚动查看您的内存是如何使用的。
关于iOS - UITableViewCell 的隐藏 UIImageView 是否应该在可见之前没有分配的图像?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/34102028/
|