我正在处理ALAssetsLibrary。 当我获得所有缩略图时,我只使用UIImageViews来保持缩略图并将它们添加到持有者。 问题在这里,添加它们真的很慢。也许十秒或更长时间。如果有很多照片,它会更慢。
我想知道保存这些缩略图的最佳做法是什么。 (非常感谢!)
答案 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来缓存照片,它真的很快