對不起,如果這是一種重複的問題。我搜索了大約一個小時,但仍然存在WebView組件的內存使用問題。WebView內存泄漏
我開始從ListActivity的Activity(NewsDetail)來顯示特定的新聞文章。文章的HTML代碼被添加到包含在活動佈局中的WebView中。 (它也通過newsDetail.loadDataWithBaseURL(加載1個或2圖像))
我通過啓動文章活動:
Intent i = new Intent(getApplicationContext(), NewsDetail.class);
i.putExtra("position", position);
startActivity(i);
閱讀this question後,我改變了我的佈局,使我添加的WebView編程:
newsDetail = new WebView(getApplicationContext());
在我的onDestroy方法設置:
public void onDestroy(){
super.onDestroy();
newsDetail.destroy();
newsDetail = null;
finish();
System.gc();
}
過了一段時間,垃圾收集器將內存量從大約4 MB減少到2 MB。如果我打開/關閉幾篇新聞文章,它會上升到一個關鍵的堆大小。 :/
如前所述,在銷燬活動之後,活動剩下2 MB(如果我從代碼中完全刪除WebView,則不存在)。所以它似乎與WebView本身有關。 同樣的問題is mentioned here。
我還設置:
android:noHistory="true"
你們當中有誰一個想法如何徹底的回到我ListActivity後襬脫了「閱讀新聞」活動的內存使用情況的? 很高興聽到任何想法,這讓我瘋狂。是否有提供超過16 MB堆大小的Android手機的圖表?