我在这里阅读过各种帖子&尝试使用所有提示,但它仍然失败。应用程序的每个实例都会不断累积更多内存。这是代码段。有什么想法吗?只需使用WebView启动页面......
private class MyWV extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
Log.d("MyWV", "shouldOverrideUrlLoading, url = " +url);
return false;
}
}
@Override
public void onCreate(Bundle icicle) {
Log.d(TAG, "onCreate");
Toast.makeText(getApplicationContext(), "Please wait...", Toast.LENGTH_LONG).show();
super.onCreate(icicle);
setContentView(R.layout.main);
mFL = (FrameLayout) findViewById(R.id.base_layout);
mWebView = new WebView(this);
mFL.addView(mWebView);
mWebView.setWebViewClient(new MyWV());
Log.e(TAG,"onCreate: Calling setJavaScriptEnabled...");
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.yahoo.com");
}
@Override
protected void onDestroy() {
Log.d(TAG, "onDestroy");
mFL.removeAllViews();
mWebView.removeAllViews();
mWebView.clearHistory();
mWebView.loadUrl("about:blank");
mWebView.freeMemory();
mWebView.destroy();
mWebView = null;
super.onDestroy();
}
答案 0 :(得分:0)
根据Memory leak in WebView,尝试使用应用程序上下文创建WebView:
mWebView = new WebView(getApplicationContext());
答案 1 :(得分:-3)
经过大量的调试,发现它与Linux内存无关。这是我们在图形堆管理中搞砸了的东西。找到了解决方案生活正常现在