私はALAssetsLibraryで扱っています。すべてのサムネイルを取得したら、UIImageViews を使用してサムネイルを保持し、ホルダーに追加します。問題はここにあります。それらを追加するのは本当に遅いです。たぶん十秒以上。写真が多いと遅くなります。
これらのサムネイルを保持するためのベスト プラクティスは何かを知りたいです。(どうもありがとう!)
私はALAssetsLibraryで扱っています。すべてのサムネイルを取得したら、UIImageViews を使用してサムネイルを保持し、ホルダーに追加します。問題はここにあります。それらを追加するのは本当に遅いです。たぶん十秒以上。写真が多いと遅くなります。
これらのサムネイルを保持するためのベスト プラクティスは何かを知りたいです。(どうもありがとう!)
高性能aspectRatioThumbnail
の代わりにAlAsset を使用するfullResolutionImage
クラス ALAsset には、サムネイルを取得するための 2 つのメソッドがあります。
- (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 を使用して写真をキャッシュするため、非常に迅速です。