美文网首页
X5内核WebView横屏切换崩溃

X5内核WebView横屏切换崩溃

作者: 弥宣 | 来源:发表于2018-11-14 13:15 被阅读158次

看到的唯一崩溃信息:

E/SurfaceView: Exception configuring surface java.lang.NullPointerException: Attempt to read from field 'android.view.Surface android.view.ViewRootImpl.mSurface' on a null object reference
        at android.view.SurfaceView.setParentSpaceRectangle(SurfaceView.java:838)
        at android.view.SurfaceView.surfacePositionLost_uiRtSync(SurfaceView.java:958)

这个报错貌似一直是存在的,不清楚 sdk 在切换横竖屏时做了什么。

由于App使用的官方的夜间模式方案,而这个问题出现的情景是:夜间模式下,对<video/>进行切换横屏操作,发生 Crash。而普通模式下,切换横屏并不会发生Crash。

所以说,聚焦到了夜间模式时,我们干了什么。

在官方文档中,涉及到接入的并没有对夜间模式方案进行特殊的声明,所以说,我们默认认为夜间模式并不会对x5造成影响。
在文档中提到

兼容视频播放:
享受页面视频的完整播放体验需要做如下声明:
页面的Activity需要声明android:configChanges="orientation|screenSize|keyboardHidden"

这个声明是并不会影响到夜间模式切换,我们需要加上一个声明,最终方案是加上uiMode: 用户界面模式发生了变化 — 这可能是因用户将设备放入桌面/车载基座或夜间模式发生变化所致。 请参阅 UiModeManager

最终解决方案: android:configChanges="orientation|keyboardHidden|keyboard|screenSize|uiMode"

腾讯X5接入文档:https://x5.tencent.com/tbs/guide/sdkInit.html

相关文章

网友评论

      本文标题:X5内核WebView横屏切换崩溃

      本文链接:https://www.haomeiwen.com/subject/xsidfqtx.html