그래서이 문제는 AssetsLibrary API에 문제가 있는지 잘 모르겠지만 그 밖의 어떤 일이 있을지 알 수는 없습니다.AssetsLibrary and ImageView -setImage Slowness
ALAssetsGroup에서 -enumerateAssetsUsingBlock 메서드를 사용하여 ALAssets로 배열을로드하고 있습니다. 완료되면 사용자 정의 이미지 스크롤러를로드하고 있습니다. 스크롤러가 끝나면 NSInvocationOperations를 사용하여 디스크의 사진 라이브러리에서 현재 보이는 뷰 (페이지)의 이미지를로드합니다. 이미지가로드되고 캐시되면 대리인에게 캐시에서 이미지를 가져 와서 스크롤러의 이미지보기에 표시합니다.
모든 것이 정상적으로 작동하지만 -setImage : 실제로 화면에 실제로 표시되는 시간까지 호출되는데 걸리는 시간은 참을 수 없습니다. 실제로는 실제로 10 초 이상 표시되는 경우도 있습니다.
크기 조정을 할 때 처리 시간에 거의 아무 것도 추가하지 않는 이미지 크기 조정을 사용하거나 사용하지 않고 시도했습니다. 앞에서 말했듯이 이미지보기에서 -setImage를 호출하면 속도가 느려집니다. 누구든지 AssetLibrary API의 일종의 측면을 알고 있을까요?
는 여기에 몇 가지 관련 코드입니다 :
- (void)setImagesForVisiblePages;
{
for (MomentImageView *page in visiblePages)
{
int index = [page index];
ALAsset *asset = [photos objectAtIndex:index];
UIImage *image = [assetImagesDictionary objectForKey:[self idForAsset:asset]];
// If the image has already been cached, load it into the
// image view. Otherwise, request the image be loaded from disk.
if (image)
{
[[page imageView] setImage:image];
}
else {
[self requestLoadImageForAsset:asset];
[[page imageView] setImage:nil];
}
}
}