内存管理(带有图像的 UICollectionView)
Memory Management (UICollectionView with images)
我有一个导航栏和 2 个视图。一个视图有一个按钮,它显示带有从 URL 加载的图像的 UICollectionView。假设我在应用程序启动时有 10 MB 内存。单击一个按钮显示图像和总共 30-40 mb。单击 "Back" 并离开集合视图后,显示 20 MB 的内存使用情况,来回单击多次后永远不会回到最初的 10 MB。
我需要担心吗?
为什么我不能回到10mb的初始状态?
图片加载通常使用缓存。具体来说,imageNamed
调用会缓存图像,以防您再次使用它们。 (有关详细信息,请参阅 imageNamed 上的文档。)
正如 Jean-Baptiste 在他的评论中所说,如果内存不足,图像缓存将自动刷新。
如果您反复转到您的集合视图,按返回键,然后重新访问您的集合视图,并且您的内存占用量每次都在增加,那么您可能遇到了问题,但让您的内存使用从它攀升是很常见的 "low water mark" 发射后永远不会回到那个低点。
我有一个导航栏和 2 个视图。一个视图有一个按钮,它显示带有从 URL 加载的图像的 UICollectionView。假设我在应用程序启动时有 10 MB 内存。单击一个按钮显示图像和总共 30-40 mb。单击 "Back" 并离开集合视图后,显示 20 MB 的内存使用情况,来回单击多次后永远不会回到最初的 10 MB。
我需要担心吗?
为什么我不能回到10mb的初始状态?
图片加载通常使用缓存。具体来说,imageNamed
调用会缓存图像,以防您再次使用它们。 (有关详细信息,请参阅 imageNamed 上的文档。)
正如 Jean-Baptiste 在他的评论中所说,如果内存不足,图像缓存将自动刷新。
如果您反复转到您的集合视图,按返回键,然后重新访问您的集合视图,并且您的内存占用量每次都在增加,那么您可能遇到了问题,但让您的内存使用从它攀升是很常见的 "low water mark" 发射后永远不会回到那个低点。