我创建了一个UICollectionView来水平查看ALAssets。 ALAssets首先存储到名为assets的MutableArray中。 然后集合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;
}

但资产收集超过100个图像,应用程序给我一个记忆警告。 内存使用量也增加了50MB以上。 如何摆脱这种巨大的内存使用? 我在这做什么错了?

===============>>#1 票数:3 已采纳

你错过了你创建的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

===============>>#2 票数:0

您应该避免创建大小超过1024 x 1024的UIImage对象。 (Apple SDK指南)我想这是因为你试图一次加载大量的大图像。

因此,如果您只想在主集合视图中显示图像,则可以使用ALAsset类的缩略图图像。

当用户触摸其中一个图像时,此时显示“fullResolutionImage”。

  ask by DilumN translate from so

未解决问题?本站智能推荐:

2回复

在UICollectionView中显示照片库图像

我正在尝试通过ALAssetsLibrary从UICollectionView照片库显示图像,我的代码运行正常,但是我ALAssetsLibrary了一些问题。 缩略图的质量很差。 如何安排收藏夹视图,以从中订购100张最近的照片 新到老。 这是我的代码:
2回复

如何将视频从ALAsset显示到UICollectionview ios

我在下面的代码中尝试使用ALAsset从照片库中获取所有视频。 目前,我想将所有视频显示到UICollectionview但它似乎没有显示任何内容。 请给我一些建议。 提前致谢。 -ViewDidLoad():从照片库中获取所有视频 -imageFromVideoURL():
1回复

UICollectionViewController中的ALAssets不显示图像

我在从collectionViewCell的每个项目中的设备库中显示ALAssets列表时遇到问题。 我的图像在收藏夹视图中不可见。 我尝试了在亲戚职位中找到的所有解决方案,但没有找到答案……为什么? 这是我的开发环境: iPhone5,IOS 6.0.2,XCode 4.5
1回复

如何显示视频从ALAsset到UICollectionview单元格

我尝试使用此代码将所有ALAsset创建的视频添加到我的应用中,然后播放,但是该视频未显示在UICollectionView中,所以这是可能的。 提前致谢。 我在“查看是否加载”中编写此代码。 一种方法是 我写在UICollectionView }
1回复

从用户照片库加载图像并更新UICollectionView

所以我有UICollectionView 。 我需要从他的照片库中获取所有用户照片,并且在加载照片时更新我的​​收藏夹视图。 我尝试使用NSNotificationCenter 。 我将观察者添加到UICollectionViewController ,当我枚举照片时,我会发布通知,以便在
2回复

导入多张原始分辨率的图像:内存不足警告问题

我正在使用ChuteSDK从照片库中导入多个图像,如下所示: 但是fullScreenImage给了我原始图像的缩小版本,如果我使用fullResolutionImage ,则会由于应用程序崩溃而导致low memory warning问题。 如何获得具有原始分辨率的图像而又不会引
1回复

从照片中获取数据源的UICollectionView-包含大量照片的缓慢更新

我正在使用旧的ALAseetLibrary框架开发用于检测照片库中屏幕截图的应用程序 -如果可以,请使用新的照片框架。 我的问题是,当用户的照片库很大时,要花很多时间才能找到屏幕截图。 每次打开应用程序时,我都会更新数据源。 这是扫描照片库的代码: 这项工作完成后,我将调用re
1回复

使用AlAssetsLibrary读取iphone相机胶卷时出现内存问题

我正在尝试从iPhone相机胶卷中获取最后一张照片。 我使用以下代码: 它可以工作,但是有缺陷(我正在使用Instruments和Zombies对其进行调试): 似乎读取了相机胶卷中的所有图片。 所以,第一个问题:不枚举AssetsAtIndexes:仅检索指定的图像(at
2回复

使用ALAssetsLibrary访问裁剪或编辑的图像

我有一个ipad应用程序,它使用ALAssetsLibrary从Photos应用程序中获取图像,然后将它们上传到Web服务器。 到目前为止一切正常。 现在,如果我转到照片应用程序并编辑图像(比如裁剪)并上传,原始未裁剪的内容将上传。 我正在使用资产网址访问/保存照片。 例如:
1回复

使用XCTest将图像添加到ALAssetsLibrary

我有一个广泛使用照片的应用程序,对它们进行了多次操作: 调整 种植 元数据提取 我编写的大多数方法都是在AlAssets上运行的,因此我想编写我的测试(我使用新的XCTest框架)来操作ALAssets。 我在项目中包含了一组用作测试输入的照片,我计划在[