2011-12-16 19 views
1

複数の写真を選択できるフォトギャラリーを作成しましたが、サムネイルでGridViewを設定すると非常に遅くなることがあります。Androidでの高速サムネイルの取得

timer = new Timer(); 
timer.schedule(new TimerTask() {   
    @Override 
    public void run() { 
     fetchNextThumb(); 
    } 
}, 0, 25); 

それは、(私が無効になっておく)サムネイルせずに子供のためのGridViewを検索し、それがまだキャッシュされていない場合はメディアストアから適切な親指を取得し、UIスレッド上でsetImageBitmap()を実行します:

私はタイマーを使います

最初は信じられないほど速いですが、約50ほどのサムネイルが取得されてからは減速し始めます。誰でもサムネイルの検索を高速化するためのあらゆるトリックを知っていますか?

答えて

1

なぜ、いくつかのサムネイルが他のサムネイルより速く読み込まれている理由を理解しました。私は使用しています

managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{ MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID }, null, null, MediaStore.Images.Media._ID); 

明らかに、SDカードとデバイスの両方から画像を取得します。当然、SDカードイメージの親指は、デバイス上の親指よりも遅くロードされます。それでも、組み込みのギャラリーにはこの問題はないようです。私の解決策は、SDカードイメージを一度ロードした後、デバイス上のサムネイルを保存することです。

カスタムフォトギャラリーの実装に興味のある人は、上記のコードがうまくいくはずです。質問があれば私にメッセージしてください。

+0

ありがとうございました!なぜあなたは、この方法と比較して、組み込みギャラリーがとても速いのか分かりましたか?私はまったく同じ問題を抱えています。 – Mars

関連する問題