私はEnormegoのEGOImageViewを使用したので、インターネットからダウンロードした写真のギャラリービューを持っています。私は、画像がキャッシュに入ってからテーブルビューをスクロールすると、スクロールが遅くなることに気付きました。私はすぐに画像がreturn [UIImage imageWithContentsOfFile:cachePathForKey(key)];
でハードドライブから取得されたときにメインスレッドで作業していたので、操作をNSOperationQueueに追加したことがすぐに分かりました。これは遅れを半分に減らしましたが、スクロールはまだ乱雑でした。コードを通過した後、私は成功方法uitableviewcellのUIImageViewのsetImageはiOSのスクロールに遅れます
- (void)imageLoaderDidLoad:(NSNotification*)notification {
if(![[[notification userInfo] objectForKey:@"imageURL"] isEqual:self.imageURL]) return;
UIImage* anImage = [[notification userInfo] objectForKey:@"image"];
self.image = anImage;
[self setNeedsDisplay];
if([self.delegate respondsToSelector:@selector(imageViewLoadedImage:)]) {
[self.delegate imageViewLoadedImage:self];
}
}
に完全に遅れを処分したself.image = anImage;
をコメントアウトすることに気づいた(しかし、明らかに私には、画像を取得していません)。そして、私が知る限り、UIを変更したい場合は、メインスレッドで行う必要があります。 EGOImageViewの画像をスクロールするのに遅れずに設定する方法はありますか?
注:JPGのみは約50KB
おかげ
私は、画像がself.imageフレームにフィットするようにサイズ変更されていると思います。それは事実ですか?以前にサイズを変更しようとしましたか? – Gabriel
@Gabriel私はしていない!私はまったくそれを考慮しなかった。やってみます! –
@AndrewParkこれをどのように最適化するかを知りましたか? – bogardon