V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jmania
V2EX  ›  Android

Android 碰到一个 WebView 的怪问题

  •  
  •   jmania · 2015-10-18 11:34:11 +08:00 · 8532 次点击
    这是一个创建于 3120 天前的主题,其中的信息可能已经有所发展或是发生改变。
    通过 WebView 显示 json 中的 html,
    一开始都可以正常显示,
    但是打开了一个 Activity 后,
    再回到有 WebVIew 的页面就不显示内容了,
    而且是 app 中所有的都不显示了...
    第 1 条附言  ·  2015-10-20 11:51:37 +08:00
    报了一段这个错误
    E/chromium: [ERROR:gles2_cmd_decoder_autogen.h(1082)] [GroupMarkerNotSet(crbug.com/242999)!:D818B2B8]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
    19 条回复    2015-10-23 18:07:53 +08:00
    qiayue
        1
    qiayue  
       2015-10-18 11:40:54 +08:00 via Android
    重新刷新了一下页面,你的页面没处理好
    jmania
        2
    jmania  
    OP
       2015-10-18 12:18:58 +08:00
    @qiayue 是重新刷新过了,
    如果没有在 app 中打开新的 Activity 话是没有问题的.
    mthli
        3
    mthli  
       2015-10-18 12:21:23 +08:00
    没开硬件加速?
    jmania
        4
    jmania  
    OP
       2015-10-18 12:44:29 +08:00
    @mthli 之前打开了,
    但是关闭后也是一样,
    但是发现 打开新的 Activity 中的 WebView 有嵌入一个 youku 的视频后就会发生这个问题,
    打开其它的 Activity 就没有问题...
    monsoon
        5
    monsoon  
       2015-10-18 12:55:06 +08:00
    这是 WebView 的锅。
    Android 5.0 后的 WebView 应该就没有这个 Bug ,小米的有些机子上好像就有这个 Bug (因为我的测试机不多,只有小米,这个 Bug 可能是 Android 某几个大版本的 WebView 的问题,或者是小米魔改 WebView 的锅)。

    这个 Bug 是跟视频播放有关的 (因为那时候我发现这个 Bug 的时候,都是内嵌视频的页面,所以我很快地就发现了这个问题),后来我好像改了很多 WebView 的设置,然后成功了?

    总之退 WebView ,保平安。
    monsoon
        6
    monsoon  
       2015-10-18 12:56:44 +08:00
    也有可能是跟 WebView 的内存泄漏,或者是 硬件加速之类的锅,总之我是不知道了……
    jmania
        7
    jmania  
    OP
       2015-10-18 13:38:58 +08:00
    @monsoon 我手头只有一个华为的测试机,
    其它的机器没有测试
    jmania
        8
    jmania  
    OP
       2015-10-18 13:39:57 +08:00
    @monsoon WebView 如何设置?
    int64ago
        9
    int64ago  
       2015-10-18 13:46:15 +08:00 via Android
    onResume 处理?
    int64ago
        10
    int64ago  
       2015-10-18 13:50:07 +08:00 via Android
    我觉得这个问题还是自己调试解决会比较方便
    搞个 HTTP 代理抓包 + 启用 Chrome DevTools 调试

    最后发现,多半是自己写搓了
    jmania
        11
    jmania  
    OP
       2015-10-18 13:55:57 +08:00
    @int64ago 每次都有取到数据的
    tougee
        12
    tougee  
       2015-10-18 22:00:11 +08:00
    遇到过类似的问题, webView 硬件加速导致渲染失败,配置改用软件加速
    题主可以试试
    LvWind
        13
    LvWind  
       2015-10-19 00:25:11 +08:00
    楼主如果对 apk 尺寸没有什么限制要求的话可以试试用 crosswalk 代替系统 WebView ,算是帮你解决各个厂各个版本的兼容性了。
    jmania
        14
    jmania  
    OP
       2015-10-19 15:16:57 +08:00
    @tougee 应该默认就是关闭硬件加速
    jmania
        15
    jmania  
    OP
       2015-10-19 15:18:10 +08:00
    @tougee 这个一点都不了解
    tougee
        16
    tougee  
       2015-10-19 22:01:01 +08:00
    @jmania 我指的是这样的: mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    jmania
        17
    jmania  
    OP
       2015-10-20 10:37:47 +08:00
    @tougee 好像还是不行...
    zhaohui318
        18
    zhaohui318  
       2015-10-23 09:06:54 +08:00
    4.4 的系统 webview 播视频有个 bug
    jmania
        19
    jmania  
    OP
       2015-10-23 18:07:53 +08:00
    @zhaohui318 有没有解决办法?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2151 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:52 · PVG 23:52 · LAX 08:52 · JFK 11:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.