ALAssetsLibraryを使用して処理しています。 すべてのサムネイルを取得すると、UIImageViewsを使用してサムネイルを保持し、ホルダーに追加するだけです。 問題はここにあります。追加するのが実際には遅いです。おそらく10秒以上。多くの写真がある場合、それはより遅くなります。ALAssetsLibraryでサムネイルを取得する最善の方法
これらのサムネイルを保持するのがベストプラクティスであることを知りたいと思います。 (感謝!)
ALAssetsLibraryを使用して処理しています。 すべてのサムネイルを取得すると、UIImageViewsを使用してサムネイルを保持し、ホルダーに追加するだけです。 問題はここにあります。追加するのが実際には遅いです。おそらく10秒以上。多くの写真がある場合、それはより遅くなります。ALAssetsLibraryでサムネイルを取得する最善の方法
これらのサムネイルを保持するのがベストプラクティスであることを知りたいと思います。 (感謝!)
使用AlAsset aspectRatioThumbnail
の代わりに、高性能
ALAssetは、サムネイルを取得するには、2つのメソッドがあるクラスのfullResolutionImage
:
- (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
私はこのhttps://github.com/johnil/JFImagePickerControllerの2つのクラスJFAssetHelperとJFImageManagerを使ってプロジェクトを解答しますと思います。これはNSCacheを使って写真をキャッシュしていて、とても速いです。