android – S9 / S9特定的WebView设备崩溃报告
作者:互联网
我们一直看到Google Play中的崩溃报告特定于三星S9(starqlesq)& S9(star2qlesq),都运行Android 8.0.0:
信号11(SIGSEGV),代码1(SEGV_MAPERR)
回溯:
#00 pc 0000000000a51278 /vendor/lib64/libllvm-glnext.so(__ZN13ShaderObjects17loadProgramBinaryEP15CompilerContextPvmP23QGLC_LINKPROGRAM_RESULT 1396)
#01 pc 000000000099b500 /vendor/lib64/libllvm-glnext.so(__Z1515CompilerContext17loadProgramBinaryEPvmP23QGLC_LINKPROGRAM_RESULT 160)
#02 pc 0000000000a6e110 /vendor/lib64/libllvm-glnext.so(__Z21QGLCLoadProgramBinaryPvS_mP23QGLC_LINKPROGRAM_RESULT88)
#03 pc 00000000001a501c /vendor/lib64/egl/libGLESv2_adreno.so(__ZN17EsxShaderCompiler21LoadProgramBinaryBlobEP10EsxContextP10EsxProgramPKvmP10EsxInfoLog 256)
查看上面的堆栈跟踪,崩溃似乎是在OpenGL系统代码中.
这很奇怪,因为我们将集成的崩溃报告解决方案(Microsoft App Center SDK)和其他崩溃报告发送到App Center.
我们的应用程序大量使用WebView,我现在理解它使用Chrome,在一个单独的进程中运行.
因此,我的问题是:
>此崩溃报告是针对Google Play而不是App Center指示WebView相关崩溃的事实吗?
>什么样的事情会导致像这样的崩溃?到目前为止,它影响了3个唯一用户,因此它似乎并不特定于具有不寻常设备配置的单个用户.
>在缩小和解决问题方面哪些行动最有效?
解决方法:
现在已经确认禁用硬件加速是在这些有问题的设备上解决问题:
val product = Build.PRODUCT
val s9ProductsThatNeedWorkaround = arrayOf("starqltesq", "star2qltesq", "starqlteue", "star2qlteue")
if (s9ProductsThatNeedWorkaround.contains(product)) {
WebView.setLayerType(LAYER_TYPE_SOFTWARE)
}
然而,在渲染网页内容时可能存在一些外观异常.
标签:android,webview,crash,crash-reports 来源: https://codeday.me/bug/20191004/1853949.html