3

我正在处理 ALAssetsLibrary。当我得到所有缩略图时,我只是使用 UIImageViews 来保存缩略图并将它们添加到持有人。问题就在这里,添加它们真的很慢。也许十秒钟或更长时间。如果有很多照片,它会变慢。

我想知道保存这些缩略图的最佳做法是什么。(非常感谢!)

4

2 回答 2

8

使用 AlAssetaspectRatioThumbnail代替fullResolutionImage高性能

ALAsset 类有两种获取缩略图的方法:

- (CGImageRef)thumbnail
- (CGImageRef)aspectRatioThumbnail

例子:

//ALAssetsLibrary block will execute in a separate thread. So I suggest to do the UI related stuff in main thread.
dispatch_sync(dispatch_get_main_queue(), ^{

   CGImageRef iref = [myasset aspectRatioThumbnail];
   itemToAdd.image = [UIImage imageWithCGImage:iref];

 });//end block
于 2012-11-28T05:38:44.203 回答
-1

我认为在这个带有两个类 JFAssetHelper 和 JFImageManager 的https://github.com/johnil/JFImagePickerController项目中,您会找到答案。这使用 NSCache 来缓存照片,而且速度非常快

于 2015-08-11T01:45:48.407 回答