2011-11-01 38 views
0

NSDATAの形式で配列内にいくつかの画像があります。ページコントローラーの例6では一度にページに表示しています。NSDATAをUIImageに変換する際の遅い速度

しかしUIImageに変換するには時間がかかるので、スクロールするのがスローダウンになる理由は他にもありますか?

私は以下のコードを使用してNSDATAに変換しています。

[UImage imageWithData:data]; http://www.switchonthecode.com/tutorials/loading-images-asynchronously-on-iphone-using-nsinvocationoperationから

+1

画像ファイルがどのように大きいですか?彼らがそれほど大きくなければ、別の問題を示している可能性があります。そうであれば、別のスレッドでレンダリングを試みるべきです。 – bdares

+0

アラウンド1MBの1つのイメージ。私はそれらのスレッドを –

答えて

1

:あなたのメインスレッドで

:必要

NSOperationQueue *queue = [NSOperationQueue new]; 
NSInvocationOperation *operation = [[NSInvocationOperation alloc] 
             initWithTarget:self 
               selector:@selector(loadImage) 
                object:nil]; 
[queue addOperation:operation]; 
[operation release]; 

その他の方法:

- (void)loadImage { 
    NSData* imageData = //however you're getting your NSData 
    UIImage* image = [[[UIImage alloc] initWithData:imageData] autorelease]; 
    [imageData release]; 
    [self performSelectorOnMainThread:@selector(displayImage:) withObject:image waitUntilDone:NO]; 
} 

- (void)displayImage:(UIImage *)image { 
    [imageView setImage:image]; //UIImageView 
} 
+0

@bdraseで開始できますが、パフォーマンスは、サイズが5 MBのイメージほど遅いです。 –

関連する問題