Android WebView内存泄漏

时间:2012-08-22 11:52:20

标签: android android-webview

我正在为Android开发自定义浏览器。当浏览器支持javascript时,当你浏览网站时,应用程序获得的内存比使用没有javascript支持的浏览器的Ram要多得多。请提供建议如何解决此问题

public void onCreate(Bundle savedInstanceState){

 mWebView=new WebView(getApplicationContext());
            mWebContainer=(FrameLayout)findViewById(R.id.web_container);
            mWebContainer.addView(mWebView);
            mWebView.getSettings().setUserAgentString("");
            mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setPluginsEnabled(true);
        mWebView.getSettings().setPluginState(PluginState.ON);
        mWebView.getSettings().setDatabaseEnabled(true);
        mWebView.getSettings().setGeolocationEnabled(true);
        mWebView.getSettings().setSupportZoom(true);
        mWebView.getSettings().setSavePassword(true);
        mWebView.getSettings().setSaveFormData(true);
        }
        ........................................

     private static class HelloWebViewClient extends WebViewClient 
        {

            @Override

            public boolean shouldOverrideUrlLoading(WebView view, String url) 
            {

                 view.loadUrl(url);

                 return true;
            }
        ........................

      protected void onDestroy()
        {

            super.onDestroy();
            mWebContainer.removeAllViews();
            mWebView.destroy();
            mWebView=null;
            System.gc();
        }

创建了一个简单的WebView,例如内存泄漏。

1 个答案:

答案 0 :(得分:0)

我不确定你有什么选择。内存使用情况由webview小部件管理,系统也是如此。

所以你的应用会占用大量内存。