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