X5内核WebView横屏切换崩溃

看到的唯一崩溃信息:

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使用的官方的夜间模式方案,而这个问题出现的情景是:夜间模式下,对

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

在官方文档中,涉及到接入的并没有对夜间模式方案进行特殊的声明,所以说,我们默认认为夜间模式并不会对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横屏切换崩溃)