android – Webview没有第一次加载

我为一个奇怪的问题奋斗.我正在尝试加载一个https网页,但是第一次加载webview.等待60秒后,我必须再次点击我的按钮才能加载我的页面.我的设备是带有Lollipop的Nexus 4,但是此问题发生在 Android 4.4和4.1的设备上.该网址的内容不多,只有几个javascript文件和css文件.

日志:

I/WebViewFactory﹕ Loading com.google.android.webview version 37 (1602158-arm) (code 111201)
 I/LibraryLoader﹕ Loading: webviewchromium
 I/LibraryLoader﹕ Time to load native libraries: 3 ms (timestamps 5331-5334)
 I/LibraryLoader﹕ Expected native library version number "",actual native library version number ""
 I/LibraryLoader﹕ Expected native library version number "",actual native library version number ""
 I/chromium﹕ [INFO:library_loader_hooks.cc(106)] Chromium logging enabled: level = 0,default verbosity = 0
 I/browserStartupController﹕ Initializing chromium process,renderers=0
 W/art﹕ Attempt to remove local handle scope entry from IRT,ignoring
 W/chromium﹕ [WARNING:resource_bundle.cc(315)] locale_file_path.empty()
 I/chromium﹕ [INFO:aw_browser_main_parts.cc(63)] Load from apk succesful,fd=72 off=159196 len=3264
 I/chromium﹕ [INFO:aw_browser_main_parts.cc(78)] Loading webviewchromium.pak from,fd:73 off:229484 len:643667
 W/AudioManagerAndroid﹕ Requires BLUetoOTH permission
 W/chromium﹕ [WARNING:proxy_service.cc(901)] PAC support disabled because there is no system implementation
 W/chromium﹕ [WARNING:data_reduction_proxy_settings.cc(403)] SPDY proxy OFF at startup
 W/art﹕ Attempt to remove local handle scope entry from IRT,ignoring
 W/AwContents﹕ onDetachedFromWindow called when already detached. Ignoring
 I/chromium﹕ [INFO:SkUtilsArm.cpp(179)] Device supports ARM NEON instructions!

我的代码

final WebView wv = (WebView) alert.findViewById(R.id.modal_wv);

    wv.getSettings().setAppCacheEnabled(true);
    wv.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
    wv.getSettings().setAppCachePath("/data/data/" + getPackageName() + "/cache");
    wv.getSettings().setAllowFileAccess(true);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.loadUrl(connectionResponse.getUrl());
/*
//Same behavior ...
    wv.post(new Runnable() {
        @Override
        public void run() {
            wv.loadUrl(connectionResponse.getUrl());
        }
    });
*/

我设置了一个新的WebClient()覆盖以下方法:shouldOverrideUrlLoading,onLoadResource,onPageFinished.For测试目的,我删除了这个自定义的WebClient,但它仍然没有第一次加载.

谢谢

解决方法

我遇到同样的问题.我花了3天多的时间,发现另一个WebView对象调用pauseTimers()的原因是为了节省一些实际上“暂停所有WebView的布局,解析和JavaScript定时器”的cpu性能.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...