微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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性能.

原文地址:https://www.jb51.cc/android/312805.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐