Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebView内存泄漏_Android_Android Webview - Fatal编程技术网

Android WebView内存泄漏

Android WebView内存泄漏,android,android-webview,Android,Android Webview,我正在为android开发自定义浏览器。当浏览器支持javascript时,当您浏览站点时,应用程序获得的Ram比我使用不支持javascript的浏览器多得多。请给出如何解决这个问题的建议 创建时的公共void(Bundle savedInstanceState){ 创建了一个简单的WebView,例如内存泄漏。我不确定您是否有任何选择。内存使用由WebView小部件管理,也由系统管理 因此,您的应用程序将使用大量内存。但为什么其他浏览器不使用这么多内存?我想这是因为它们是使用NDK()创建的

我正在为android开发自定义浏览器。当浏览器支持javascript时,当您浏览站点时,应用程序获得的Ram比我使用不支持javascript的浏览器多得多。请给出如何解决这个问题的建议

创建时的公共void(Bundle savedInstanceState){


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

我不确定您是否有任何选择。内存使用由WebView小部件管理,也由系统管理


因此,您的应用程序将使用大量内存。

但为什么其他浏览器不使用这么多内存?我想这是因为它们是使用NDK()创建的,它允许对这类东西进行更多的控制。你是说,如果我不使用ndk,那么我的程序可能会因为内存不足而随时关闭?为什么支持JavaScript会占用大量内存?我只是说,使用ndk,你可以对内存使用和优化进行更多的控制。也许这是解决问题的一种方法。JavaScript I它总是很难处理,所以我想它需要很多内存。谢谢你提供的信息,但我简直不敢相信所有的Android都有内存
 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();
        }