<分区>
我正在创建一个从网络加载大量不同图像的应用程序。所以我有两个屏幕。带有缩略图的 UITableView 的“主”屏幕。以及带有全尺寸图像的 UICollectionView 的“图像预览”屏幕,用户可以在图像之间滑动。
我的任务是从网络加载图像并将它们存储到文件和内存中。使用 SDWebImage 很容易做到.但是很多时候我的内存中有太多图像,这会导致内存警告。有时内存缓存没有足够的时间来丢弃图像和应用程序崩溃。
所以最简单的解决方案是设置最大图像数以存储在内存中。
<分区>
我正在创建一个从网络加载大量不同图像的应用程序。所以我有两个屏幕。带有缩略图的 UITableView 的“主”屏幕。以及带有全尺寸图像的 UICollectionView 的“图像预览”屏幕,用户可以在图像之间滑动。
我的任务是从网络加载图像并将它们存储到文件和内存中。使用 SDWebImage 很容易做到.但是很多时候我的内存中有太多图像,这会导致内存警告。有时内存缓存没有足够的时间来丢弃图像和应用程序崩溃。
所以最简单的解决方案是设置最大图像数以存储在内存中。
最佳答案
我没有找到任何能够设置最大图像数以存储在内存中的库。所以我们制定了自己的解决方案并将其发布在 github 上.
现在很容易设置
APSmartStorage.sharedInstance.maxObjectCount = 10;
如果达到“maxObjectCount”,“APSmartStorage”将在存储新对象之前从内存中删除随机对象
关于iOS 图像缓存与内存中图像的自定义计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21775994/