現在、ListViews にリストされている内部メモリ ビットマップを保持するクラスがいくつかあります。
一覧表示したら、返してほしい画像の名前を伝えるメソッドに頼り、対応するビットマップを受け取ります。
アプリケーションの起動時に、必要なすべての画像をメモリ ( HashMap ) にロードします。画像を内部メモリからリストビューに直接ロードすると、プロセスに時間がかかります。
私はビューのリサイクルを使用しており、各アイテムには2つと2つのイメージビューとテキストビューがあります。ただし、スクロールは非常に遅く、多くのラグがあります。
画像をメモリ (ハッシュマップ) に保存するのは良い解決策ですか? リストの時点でメモリにロードするため、さらに遅くなります。画像は 100x100 ピクセルです。
私の質問は次のとおりです。ラグに関する私の問題は、画像がすべてメモリ内にあるという事実に関係している可能性がありますか? 最善の解決策は何ですか?
編集:
07-25 16:56:33.195: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.195: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.203: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.203: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.210: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.257: V/ADAPTER(8648): recicling view [16]
07-25 16:56:33.265: V/ADAPTER(8648): recicling view [15]
07-25 16:56:33.273: V/ADAPTER(8648): recicling view [14]
07-25 16:56:33.281: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.289: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.289: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.289: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.296: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.296: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.304: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.312: V/ADAPTER(8648): recicling view [7]
07-25 16:56:33.320: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.328: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.328: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.335: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.335: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.343: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.343: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.359: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.359: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.367: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.367: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.367: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.375: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.382: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.398: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.398: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.406: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.406: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.414: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.414: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.484: V/ADAPTER(8648): recicling view [13]
07-25 16:56:33.492: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.500: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.500: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.507: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.507: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.507: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.515: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.523: V/ADAPTER(8648): recicling view [7]
07-25 16:56:33.531: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.539: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.539: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.546: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.546: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.554: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.554: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.562: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.570: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.578: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.578: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.578: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.585: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.585: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.609: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.609: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.617: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.617: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.625: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.625: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.679: V/ADAPTER(8648): recicling view [12]
07-25 16:56:33.687: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.695: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.695: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.703: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.703: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.710: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.710: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.718: V/ADAPTER(8648): recicling view [7]
07-25 16:56:33.734: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.734: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.742: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.742: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.750: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.750: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.757: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.765: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.773: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.773: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.773: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.781: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.781: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.789: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.804: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.812: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.812: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.812: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.820: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.820: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.875: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.882: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.890: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.890: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.898: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.898: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.906: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.914: V/ADAPTER(8648): recicling view [7]
07-25 16:56:33.929: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.929: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.937: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.937: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.945: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.953: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.953: V/ADAPTER(8648): recicling view [6]
07-25 16:56:33.968: V/ADAPTER(8648): recicling view [0]
07-25 16:56:33.976: V/ADAPTER(8648): recicling view [1]
07-25 16:56:33.976: V/ADAPTER(8648): recicling view [2]
07-25 16:56:33.976: V/ADAPTER(8648): recicling view [3]
07-25 16:56:33.984: V/ADAPTER(8648): recicling view [4]
07-25 16:56:33.984: V/ADAPTER(8648): recicling view [5]
07-25 16:56:33.992: V/ADAPTER(8648): recicling view [6]
07-25 16:56:34.007: V/ADAPTER(8648): recicling view [0]
07-25 16:56:34.015: V/ADAPTER(8648): recicling view [1]
07-25 16:56:34.015: V/ADAPTER(8648): recicling view [2]
07-25 16:56:34.015: V/ADAPTER(8648): recicling view [3]
07-25 16:56:34.023: V/ADAPTER(8648): recicling view [4]
07-25 16:56:34.031: V/ADAPTER(8648): recicling view [5]
スクロールするたびに(リストが続く)、この出力が得られます。[] 内のコンテンツは位置に対応します。彼が常に0-6の位置を示しているのは奇妙ではありませんか?
編集
今考えられる理由を発見しました。
私は現在、必要なすべてのビューがある tab_activity です。xml に tab_activity top_bar を追加しました。そこには、常に変更されている画像があります。画像が自動モード (常に変更されている) の場合、タブ内にある ListViews は「再描画」されるため、遅延が発生します。
xのイメージをx時間で変えるサービス(音楽)を利用しています。
画像が再描画されているのを表示すると、ListView が再描画されるのはなぜですか?