【发布时间】:2015-07-15 01:05:40
【问题描述】:
我目前正在从事一个项目,该项目涉及由从 UIImagepickerController 导入的 AVAssets 填充的 UICollectionView,在集合中有 10 个左右的项目后,滚动变得迟缓且缓慢,并且偶尔会收到内存警告。我认为问题出在实时发生的缩略图生成中,这是我使用的代码:
- (void) setAsset:(AVAsset *)asset
{
_asset = asset;
AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:_asset];
NSError *err = NULL;
CMTime time = CMTimeMake(1, 60);
generate.appliesPreferredTrackTransform = YES;
CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err];
self.VideoImageView.image = [UIImage imageWithCGImage:(imgRef)];
}
是否有另一种不那么“昂贵的方式”可以毫不拖延地实现这一目标? 任何有关此事的帮助将不胜感激。
【问题讨论】:
-
感谢大家的快速回复,这两种方法我都试过了,虽然现在滚动很流畅,但生成缩略图需要更多时间,导致第一次加载视图时出现空白单元格,经过几次不过几秒钟,一切都很好。
标签: ios objective-c uicollectionview avassetimagegenerator