Webサービスからデータをプルダウンして、これをListViewに表示するフラグメントがあります。私は行の背景に使用できる10種類のセレクターを持っています。バックグラウンドは一度ループすると繰り返されます。Android ListView行の背景が原因でOutOfMemoryの問題が発生する
私が直面している問題は、デバイス(Galaxy Nexus!)がこれらの背景をすべて表示することができないことです。 setbackgroundResourceでバックグラウンドを設定すると、OSは常にGCを呼び出してメモリを解放し、ListViewのスクロールが極端に不安定になります。
私は代わりにDrawablesをキャッシュしようとしました。私は改善が見えますが、デバイスは最終的にどれくらいのDrawableがキャッシュされているかのOutOfMemory例外を引き起こします。どのくらいの数がキャッシュに格納されているかの例を示すために、それぞれに2つのドロウアブルを含む10個のセレクタと、最初と最後のセレクタが必要です。これはメモリ内の24個のドロウアブルです。
私は使用している画像のサイズになる可能性があると思っていましたが、それらをスケールダウンして比例して伸ばしてください。
提案がありますか?私はこのノンストップで数日間働いており、実行可能な/近い解決策を見つけていません。
おかげ
アダム
お返事ありがとうございます。確かにその情報の多くは、いくつかが役立つかもしれません。私が最初に考えたのは、使用しているオリジナルがかなり大きいので、1つの密度で拡大縮小されるようにイメージのサイズを変更することでした。私はこれがどのように役立つかを見ていきます。そして、次に9つのパッチを当てるでしょう。大きな問題は、システムがすべてのフィールドを処理できるようにする(getView()でバックグラウンドリソースを設定するだけで)、ListViewはすばやくスクロールしすぎてしまいます。 – Mimminito