WebView SpeedTest 结果总是低于 CustomTab 或 Chrome
WebView SpeedTest result always lower than CustomTab or Chrome
问题很简单。当我开始速度测试时(例如 fast.com 或 speedtest.net),结果总是比我在 Chrome 应用程序或自定义选项卡中开始时低,通常在 WebView 中是两倍更低。
我的 WebView 配置很简单,我只是启用 Javascript 然后加载页面。
WebView webView = view.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("myUrl");
所以,问题是:为什么会这样?
WebViews 会比浏览器慢一点,因为这里每个 activity 都必须回调到 Android 应用程序层。话虽如此,看看你是否可以禁用 javascript (如果它没有在你的应用程序中使用),更重要的是检查已设置的 webview 中的缓存行为。 WebSettings 有一些与缓存相关的方法,如 setAppCacheEnabled、setAppCacheMaxSize、setCacheMode 等。setDatabaseEnabled、javascript、loadImagesAutomatically 是其他可能影响加载时间的属性。
问题很简单。当我开始速度测试时(例如 fast.com 或 speedtest.net),结果总是比我在 Chrome 应用程序或自定义选项卡中开始时低,通常在 WebView 中是两倍更低。
我的 WebView 配置很简单,我只是启用 Javascript 然后加载页面。
WebView webView = view.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("myUrl");
所以,问题是:为什么会这样?
WebViews 会比浏览器慢一点,因为这里每个 activity 都必须回调到 Android 应用程序层。话虽如此,看看你是否可以禁用 javascript (如果它没有在你的应用程序中使用),更重要的是检查已设置的 webview 中的缓存行为。 WebSettings 有一些与缓存相关的方法,如 setAppCacheEnabled、setAppCacheMaxSize、setCacheMode 等。setDatabaseEnabled、javascript、loadImagesAutomatically 是其他可能影响加载时间的属性。