我有一个使用 UICollectionView 的照片浏览应用程序,我使用 Kingfisher 从 url 下载图像,如下所示:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
...
cell.ivPhoto.kf.setImage
我使用 xCode Profile 工具进行了调试,发现当我滚动浏览集合视图时,内存由于这个对象而不断增长:ImageIO_jpeg_Data,它链接到 Kingfisher。有时当滚动浏览带有大图像(每张图像大约 500KB)的集合视图时,它非常滞后,内存可能会上升到 500+MB 并且应用程序崩溃,我在 lldb 中看到这是内存问题。我试图设置这个:
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
ImageCache.default.clearMemoryCache()
}
但它并没有解决崩溃问题。