gpt4 book ai didi

ios - 使用 UICollectionView 收到内存警告以查看图像

转载 作者:行者123 更新时间:2023-12-01 19:00:33 25 4
gpt4 key购买 nike

我创建了一个 UICollectionView 来水平查看 ALAssets。 ALAssets 首先存储到名为 assets 的 MutableArray 中。 .然后 Collection View 通过此方法显示这些 Assets 。

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath;
{
AssetCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"MY_CELL" forIndexPath:indexPath];

cell.backgroundColor = [UIColor redColor];

ALAsset *asset = self.assets[indexPath.row];
ALAssetRepresentation *rep = [asset defaultRepresentation];
CGImageRef iref = [rep fullResolutionImage];
UIImage *largeimage = [UIImage imageWithCGImage:iref];
cell.imageView.image = largeimage;

return cell;
}

但是 Assets 集合是100多张图片,应用程序给我一个内存警告。内存使用量也增加了 50MB 以上。如何摆脱这种巨大的内存使用?我在这里做错了什么?

最佳答案

您错过了您创建的 CGImage 的发布。

ALAsset *asset = self.assets[indexPath.row];
ALAssetRepresentation *rep = [asset defaultRepresentation];
CGImageRef iref = [rep fullResolutionImage]; //! creates
UIImage *largeimage = [UIImage imageWithCGImage:iref];
cell.imageView.image = largeimage;
CGImageRelease(iref); //! release

关于ios - 使用 UICollectionView 收到内存警告以查看图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23184987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com