UIImage 实现/分页?

Posted

技术标签:

【中文标题】UIImage 实现/分页?【英文标题】:UIImage implementation / paging? 【发布时间】:2011-10-19 22:18:23 【问题描述】:

来自 UIImage 文档:

在内存不足的情况下,可能会从 UIImage 中清除图像数据 对象以释放系统上的内存。这种清除行为会影响 仅由 UIImage 对象内部存储的图像数据,而不是 对象本身。当您尝试绘制其数据包含 被清除后,图像对象会自动从其重新加载数据 原始文件。

如果 UIImages 不是从文件中加载,而是使用 UIGraphicsGetImageFromCurrentContext() 来绘制,那会怎样?

我试图想出一些方法来优化 UITableViewCells 的内存使用情况,其中 UIImageViews 包含 UIImages,因为单元格进入并从重用队列中拉出。

想法?

【问题讨论】:

【参考方案1】:

迈克,

我的理解是 CGImage 数据已经没有了,所以我认为(这对于您的自定义绘制的图像点)您运气不好?

我实际上刚刚处理了一个与 UITableViews 类似的问题。我为性能做的一件事是用笔尖创建单元格。这是我所做的所有事情中最大的一次性能提升,所以如果您不使用 Nib,请考虑一下。

如果您有这么多数据,您也可以考虑某种形式的预加载。我不知道您要实施什么,因此这可能适用,也可能适用。

另一个注意事项,在清除 UIImage 后,从文件中重新加载它们会造成显着的内存损失,因此,如果您此时确实需要查看整体内存使用情况。

【讨论】:

以上是关于UIImage 实现/分页?的主要内容,如果未能解决你的问题,请参考以下文章

UIImage 或 UIImageView 带有分页和点击缩放

UIScrollView 自定义分页距离

动态处理多维数组作为 UIImage 数组

UITableview、SDWebImage、cell复用和UIImage问题

Swift - 实现图片(UIImage)的水平翻转(镜像),垂直翻转

将 NSString 绘制到 UIImage