項目のリストを表示する ListView があります。各項目にはアイコンといくつかのテキストがあります。
ListAdapter.getView() メソッドの「convertView」パラメーターを使用して、パラメーターが null でない場合に新しいビューを作成するのではなく、既存のビューを変更しています。
ListView は、表示されているビューポートからスクロールアウトした後にのみ古いビューをリサイクルすることを期待していましたが、そうではないようです。ListAdapter.getView() を呼び出すたびに、ListView が「convertView」パラメータで同じオブジェクトを提供しているようです。単一のビューが画面にレンダリングされ、getView() への次の呼び出しで再度送信されます。
以前にレンダリングされたビューを変更したいので、これは私にとって重大な問題を引き起こします。アイテムのアイコンを取得するバックグラウンド スレッドがありますが、これには「かなりの」時間がかかり、ListAdapter.getView() ビュー レンダリング コード内に配置するのは許容できないユーザー インターフェイスの負荷になります。
ListView が現在画面に表示されているビューを再利用しないようにする方法はありますか? ビューの再利用によるパフォーマンスと効率の向上を実現し、バックグラウンド スレッドでアイコンを読み込めるようにしたいと考えています。