内存管理(带有图像的 UICollectionView)

Posted

技术标签:

【中文标题】内存管理(带有图像的 UICollectionView)【英文标题】:Memory Management (UICollectionView with images) 【发布时间】:2016-08-27 11:55:04 【问题描述】:

我有一个导航栏和 2 个视图。一个视图有一个按钮,显示 UICollectionView 以及从 URL 加载的图像。假设我在应用程序启动时有 10 mb 内存。单击一个按钮会显示图像,总共 30-40 mb。单击“返回”并离开集合视图后,会显示 20 mb 的内存使用情况,并且来回单击多次后,就不会回到最初的 10 mb。

我需要担心吗?

为什么我不能回到 10mb 的初始状态?

【问题讨论】:

不用担心,内存会在需要的时候回收,很多东西都存储在缓存中,会在内存压力时刷新。 【参考方案1】:

图像加载通常使用缓存。具体来说,imageNamed 调用会缓存图像,以防您再次使用它们。 (有关详细信息,请参阅 imageNamed 上的文档。)

正如 Jean-Baptiste 在他的评论中所说,如果内存不足,图像缓存将自动刷新。

如果您反复转到您的收藏视图,按返回,然后重新访问您的收藏视图,并且您的内存占用量每次都增加,那么您可能遇到了问题,但您的内存使用量通常会从“低水位”攀升启动后标记”,并且永远不会回到那个低点。

【讨论】:

哦。我明白了,它确实有道理。谢谢!

以上是关于内存管理(带有图像的 UICollectionView)的主要内容,如果未能解决你的问题,请参考以下文章

图像不适合收集Cell

使用带有内存流的 c# 在控制台应用程序中保存图像时,GDI + 中发生一般错误

IOS App 将图像保存在内存中

UICollectionView 中的图像在向下滚动时会自动翻转?

响应式文件管理器上传内存限制,但仅限于图像

ipad:图像加载和内存管理问题以及应用程序崩溃