0

こんにちは、ローカル (ドキュメント) に高解像度の画像があります。ここで、すべてのローカル画像をサムネイル サイズで一覧表示したいと考えています。UICollectionView を使用して画像を表示しながら、画像を高解像度からサムネイルにサイズ変更しています。そのため、collectionView のスクロール速度が不足しています。今、サイズ変更されたサムネイル画像をキャッシュする方法について混乱しています。それを行うための最良のオプションはどれですか。SDWebimages を使用して、Web から画像をダウンロードしてキャッシュしました。ありがとうございました

 - (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {

    //    NSLog(@"%i path", indexPath.row);
        CollectionViewCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"CollectionViewCell" forIndexPath:indexPath];
        ImageData *imgData =  [self readFromLocal:indexpath.item];
        UIImage *thumb = [self resizeImgToTumb:imgData.image];
        [cell.imgView setimage:thumg];

return cell;
}
4

2 に答える 2

0

メモリ消費について完全に心配していない場合は、NSDictionary を作成して、サイズ変更した画像をそれに追加できます。後でリロードできるようにオブジェクトが画面から十分に離れたら、辞書からオブジェクトを削除する必要があります。

[dictionary setObject:yourSmallImage forKey:indexPath];

次に、後で取得します。

UIImage *image = [dictionary objectForKey:indexPath];
if(!image)
{
    //Load it from your source, no cache found
}
于 2014-02-20T21:09:53.997 に答える