一言で言えば、アニメーションGIFをWebビューで表示しようとしています。このwebviewはリストアイテムです。したがって、さまざまなGIFのリストビューがあります。Android Webview時間の経過とともにGIFのヒープが劇的に増加
私はそうのようなリストビュー上のGIFを設定しています:
View v = convertView;
if (v == null || position == 1) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.routine_exercise_item, parent, false);
}
TextView t = (TextView)v.findViewById(R.id.routine_exercise_num);
t.setText(getResources().getString(R.string.other_exercise) + " " + (position));
t = (TextView)v.findViewById(R.id.routine_exercise_description);
t.setText(mitems.get(position).description);
WebView anim = (WebView)v.findViewById(R.id.routine_exercise_gif);
anim.loadUrl("file:///android_asset/" + mitems.get(position).imagePath);
anim.setBackgroundColor(0);
私はArrayAdapter <>サブクラスのgetViewメソッド内でこれをやっています。
すべてがうまくロードされ、gifが動作します...しかし、表示されるとすぐに、私のヒープは狂ったように成長します。ヒープが私のEVO 3dで32MBを打ち、クラッシュするのは30〜45秒しかかかりません。
私はこのようなメモリリークが起こるのが間違っているのか分かりません。
ヒント?
私はチュートリアルに続き、それは驚異的に機能しました。私は何かをすばやく簡単に望んでいました。この解決策を見て、私は何かを決めました。それはちょうどドラッグアンドドロップです。 それは価値がないことが分かります。本当にありがとう。 –
大歓迎、幸運。 –