YouTube からのビデオ結果を表示するリストビューがあります。すべて正常に動作しますが、私が気づいたことの 1 つは、動作が少し遅いようで、私のコードが原因である可能性があることです。これを改善する方法について何か提案はありますか? Webクライアントを使用する代わりに、URLから直接画像をロードすることはありますか?
YouTube API を使用して、クエリから返されたビデオ フィードからリストビュー アイテムをループに追加しています。速度が低下していると思われるコードは次のとおりです。
Feed<Video> videoFeed = request.Get<Video>(query);
int i = 0;
foreach (Video entry in videoFeed.Entries)
{
string[] info = printVideoEntry(entry).Split(',');
WebClient wc = new WebClient();
wc.DownloadFile(@"http://img.youtube.com/vi/" + info[0].ToString() + "/hqdefault.jpg", info[0].ToString() + ".jpg");
string[] row1 = { "", info[0].ToString(), info[1].ToString() };
ListViewItem item = new ListViewItem(row1, i);
YoutubeList.Items.Add(item);
imageListSmall.Images.Add(Bitmap.FromFile(info[0].ToString() + @".jpg"));
imageListLarge.Images.Add(Bitmap.FromFile(info[0].ToString() + @".jpg"));
}
public static string printVideoEntry(Video video)
{
return video.VideoId + "," + video.Title;
}
ご覧のとおり、画像をダウンロードする Webclient を使用しているので、リストビューで画像として使用できます。それは機能しますが、私が心配しているのは速度です..何か提案はありますか? 多分別のコントロールを一緒に?