0

これが最善の方法ですか、それとも他にありますか?

SimpleCursorAdapterを拡張し、getView(int position、View convertView、ViewGroup parent)をオーバーライドします

カーソルを取得し、ImageViewとTextViewを膨らませ、カーソルからデータをプルし、ImageViewにTextViewとImageViewを入力します。画像をBlobとしてデータベースに保存します。

Blobを取得するときは、byte []として引き出し、に変換します。

以下のビットマップ:

ビットマップbmp=BitmapFactory.decodeByteArray(img、0、img.length);

次に、ImageViewのビットマップを次のように設定します。

iv.setImageBitmap(bmp);

これで問題なく下にスクロールできますが、リストを上にスクロールし始めると、重大なメモリの問題と散発的なジャンプが発生します(ガベージコレクションが追いついたときから)。

このタスクを達成するための最良の方法は誰か教えてもらえますか?表示されていないビットマップをリサイクルし、それらに近づいたときにそれらを引っ張って再び表示する方法はありますか?

私は何ヶ月も検索してさまざまなテクニックを試しましたが、このタスクを実行できるテクニックを見つけるのに迷っています。

前もって感謝します。

4

2 に答える 2

0

このビデオを見ましたか:http ://www.youtube.com/watch?v = N6YdwzAvwOA

そしてこのスレッドを読んでください:Androidでキャッシュされた画像をクリアする方法は?

基本的に、現在表示されていない画像をリサイクルする必要があります。

于 2011-05-24T20:32:10.130 に答える
0

最終的に画像を外部ストレージに移動し、データベースで以前に試したのと同じ遅延読み込みを実行しましたが、これは機能しました。どういうわけか、データベースからこれを試みても、画像をガベージで収集することはできませんでした。

于 2011-06-17T11:44:28.843 に答える