1

我在我的应用程序中使用 WebViews,许多用户报告了一些问题。似乎它们中的大多数似乎都发生在 4.1.1 上,而不是之前。

配置:

  • 硬件加速活动中的 Web 视图。
  • 启用 JS,启用插件,启用文件访问,启用 DOM 存储。
  • 自定义 WebChromeClient 和 WebViewClient。
  • Webview 具有透明背景(0X00000000),但删除它似乎没有什么好的改进。

问题:

  • 显示某些 URL 时随机黑屏:黑屏的意思,Activity 就这样死掉了,没有 JAVA 异常。
  • 通常,日志在 glDrawArrays() 中报告一个 SIGSEGV,但也可能在其他地方(来自用户的信息不足)。

一种解决方法?

只需在 webview 上禁用硬件加速!是的,没有更多的黑屏,这是正确的......但是(即使我们认为这种解决方法就是如此,因为显示性能下降了很多):

一个新问题:

  • 如果没有硬件加速,HTML5 视频 (youtube) 将无法正常工作:声音开始播放,但视频无法播放。
  • 一种解决方案可能是捕获播放开始事件,使视频在 videoView 中播放,就像我们可以为全屏播放做的一样(使用 onShowCustomView,请参阅Playing HTML5 video on fullscreen in android webview)。不过,我目前无法捕捉到这样的事件。请注意,我不是 HTML 页面的所有者,并且无法更改 HTML 代码以在其中附加某种 Javascript 代码。

问题:

  • 有没有人在许多设备上使用硬件加速 + webview 有同样的崩溃?如果是这样,你如何解决这个问题?
  • 关于解决方法,deos有人知道如何解决这个问题吗?在 IOS 上这样做会很棒:点击不会尝试播放内联视频,而是打开视频应用程序。

谢谢阅读!

4

0 回答 0