使用ALAssetsLibrary获取缩略图的最佳方法

时间:2011-11-14 02:01:46

标签: iphone alassetslibrary

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

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

2 个答案:

答案 0 :(得分:8)

使用AlAsset aspectRatioThumbnail 代替 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

答案 1 :(得分:-1)

我认为在这个https://github.com/johnil/JFImagePickerController项目中有两个类JFAssetHelper和JFImageManager你会找到答案。这使用NSCache来缓存照片,它真的很快