我正在开发一个应用程序,我在webview中从外部URL加载网页.页面加载需要花费大量时间.如果我在Android的本机浏览器中打开相同的URL,加载绝对正常,但在我的自定义webview中性能非常糟糕.
这是我的customWebView Activity的onCreate方法.
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.custom_web_view); String uri = getIntent().getExtras().getString("uri"); webView = (WebView) findViewById(R.id.cus_webview); dialog = ProgressDialog.show(CustomeWebViewActivity.this, "", "Loading. Please wait...", true, true); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false); webView.getSettings().setPluginsEnabled(false); webView.getSettings().setSupportMultipleWindows(false); webView.getSettings().setSupportZoom(false); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setSavePassword(false); webView.setVerticalScrollBarEnabled(false); webView.setHorizontalScrollBarEnabled(false); webView.setWebChromeClient(new MyWebChromeClient()); webView.clearCache(true); webView.clearHistory(); webView.loadUrl(uri); webView.setWebViewClient(new MyWebView()); }
我有什么办法可以通过我的自定义Web视图减少网页的加载时间.请,任何帮助表示赞赏.
你也可以尝试这些
webView.getSettings().setRenderPriority(RenderPriority.HIGH); webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
和有条件的检查.
if (Build.VERSION.SDK_INT >= 11){ webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null); }
并且还可以在Menifest.xml文件中设置hardwareAccelerated ="true"从SO上的多个答案中取出,但它有所帮助.