2012-02-10 110 views
2

簡而言之,我試圖在web視圖中顯示動畫GIF。這個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); 

我做這裏面getView一個ArrayAdapter <的>子類。

一切都很好,GIF的作品...然而,只要它顯示,我的堆就像瘋了似的增長。堆只需30-45秒就能在我的EVO 3D上達到32MB並崩潰。

我不知道我在做什麼錯誤的內存泄漏發生。

任何提示?

回答

3

OOF。 A WebViewListView項目?是的,他們很沉重。我不一定會看到任何會導致您看到的行爲,但利用WebView只是爲了顯示GIF有點矯枉過正。看看this tutorialView子類,它使用android.graphics.movie來顯示動畫GIF。可能比WebViews更輕。

+0

我遵循教程,它的工作非常出色。我希望能夠快速輕鬆地完成任務。在看過這個解決方案之後,我決定了一些只是拖放的東西。 結果不值得。謝謝一堆。 – 2012-02-14 06:48:42

+0

最受歡迎,祝你好運。 – 2012-02-14 14:00:59

相關問題