0

ユーザーが写真を撮ってIsolatedStorageに保存できるアプリがあります。次に、これらの画像を取得してリストに表示します。リストに 30 個を超える画像があると、アプリのパフォーマンスの問題が発生します。これらのイメージをストレージから取得してリストにバインドするには、長い時間がかかります。多くの場合、時間がかかりすぎるため、アプリは OS によって閉じられます。

また、より解像度の高いデバイスが市場に登場するにつれて、画像はより大きなサイズで作成され、パフォーマンスにさらに影響を与えるようになっていると思います。

これを解決する方法についてのガイダンスが必要です。私が持っているいくつかのこと:1)ISから取得するすべての画像を非同期に取得して、ページをロードできるようにする方法はありますが、画像は非同期で取得されます。サンプルコードは大歓迎です。2) もう 1 つの方法は、元の写真を保存しながら実際の写真のサムネイル写真 (小さいサイズと解像度) を作成し、このサムネイル写真を後でリストにバインドするときに使用する方法です。これを行う必要がある場合、その場で画像を処理して、元の写真の小さいサイズのサムネイル バージョンを作成するにはどうすればよいですか。

他のアイデアも同様に高く評価されます。御時間ありがとうございます。

4

2 に答える 2

1

可能であれば、非同期CTPを使用して、分離されたストレージから画像を読み込むコードを非同期にすることをお勧めします。サムネイルを生成するメソッドも非同期にすることができます。

これができない場合(これらの依存関係をプロジェクトに追加する場合)は、BackgroundWorkerを使用してください。おそらく、この記事はあなたが始めるのを助けることができます。

これにより、バックグラウンドでスレッドの処理を続行している間、UIが応答するようになります。

于 2012-04-30T21:49:11.153 に答える
1

分離ストレージを SQL Server のふりをしないでください。大きなパフォーマンスの違いがあります。処理するデータが多すぎる場合は、それらをサーバーに送信します。

ただし、サムネイルを取得する方法があります。あなたはそれを使用することができます:

http://msdn.microsoft.com/en-us/library/system.drawing.image.getthumbnailimage.aspx

また、この回答を確認してください:

サムネイル画像の作成

于 2012-04-30T18:30:20.700 に答える