2011-11-10 19 views
0

私はASIHTTPRequestを使用してJSONデータをWCFから取得しています。その後、データをループして、UITableViewを表示するURLからイメージを取得します。この練習は3Gネットワ​​ークでは非常に遅いです。より速くするために私ができることはありますか?ここでiPhoneで画像をより高速に読み込むには?

は、コードのこのPICEはURLからイメージをつかむだろうサンプルコード

です。これは、tableView cellFroRowAtIndexPathの下にあります:

// Add image 
NSString* trimmedCode = [[courseList objectAtIndex:indexPath.row] stringByReplacingOccurrencesOfString:@" " withString:@""]; 
NSString *imageName = [NSString stringWithFormat:@"http://www.someURL.com/images/%@.png", trimmedCode]; 
NSURL *url = [NSURL URLWithString: imageName]; 
cell.myImage.image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]]; 

return cell; 

助けが必要ですか?

答えて

0

私は同様の質問をStackoverflowで見つけましたが、これは私の答えです。より具体的な答えは私の質問です、私はSDWebImageライブラリを使用しています。どちらを使うのがずっと簡単です!ご協力いただきありがとうございます。

0

3G応答時間が遅いです。それは、ファイルが開始されると合理的に素早くファイルを送信するように設計されています。しかし、各HTTP要求は、大きな待ち時間を招く。

これは、3G上でリアルタイムアクションのマルチプレイヤーゲームが表示されない理由です。

+0

だから、手でデータ(画像)をバックグラウンドキャッシュする方法はありますか? – HardCode

+0

たぶん、あなたはそれらをすべて取得するために1つのHTTP要求を行うように、サーバー上のアーカイブのいくつかの種類の画像をパックすることができます。または、イメージを非同期的に取得するためにループを実行する別々のスレッドを作成することもできます。 – Almo

1

下記の記事をご覧ください。各行のデータをロードし、バックグラウンドで読み込むイメージを設定する方法を示します。私が使用

Loading images async

+0

アップルのLazyTableimagesから別のものを見つけました:http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html私は現在両方をテストしています... – HardCode

0

偉大なライブラリがEGOPhotoViewerです。非同期で画像を読み込むことができ、画像を自動的にキャッシュして、再度ダウンロードする必要はありません。最も重要な点は、目的の画像がダウンロードされるまでプレースホルダ画像を表示できることです。

あなたはここにライブラリを見つけることができます:https://github.com/enormego/PhotoViewer

注:私は、作成またはこのライブラリのクリエイターとは提携を持っていません。それは3つのプロジェクトに基づいたちょうど素晴らしいものです。

関連する問題