对不起,如果这是一种重复的问题。我搜索了大约一个小时,但仍然存在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手机的图表?