Android WebView内存泄漏

Android WebView内存泄漏,android,memory,webview,memory-leaks,Android,Memory,Webview,Memory Leaks,我在这里读过很多帖子&尝试使用所有的技巧,但还是失败了。应用程序的每个实例都会不断积累更多内存。下面是代码片段。有什么想法吗?只需使用WebView启动页面 private class MyWV extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.d("My

我在这里读过很多帖子&尝试使用所有的技巧,但还是失败了。应用程序的每个实例都会不断积累更多内存。下面是代码片段。有什么想法吗?只需使用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();
}
根据,尝试使用应用程序上下文创建WebView:

mWebView = new WebView(getApplicationContext());

经过大量调试,发现它与Linux内存无关。这是我们在图形堆管理中搞砸的事情。找到修复程序&现在生活正常

无论如何记住,当应用程序被os永久终止时调用onDestroy不总是调用,例如,在这种情况下调用screen rotate onCreate我尝试过这个,没有帮助。此外,每次我退出应用程序时都会调用OnDestroy。它也可能是这样的:,在中也引用了它,并提供了一种可能的解决方法,尽管这种方法很难看。