在开发人员控制台中,我在中止时遇到越来越多的本机崩溃.这只发生在Android 8.1设备上!
有人知道回归吗?这是回溯:
#00 pc 000000000001da4c /system/lib64/libc.so (abort+112) #01 pc 0000000000007f7c /system/lib64/liblog.so (__androID_log_assert+312) #02 pc 000000000006cff8 /system/lib64/libhwui.so (androID::uirenderer::renderthread::EglManager::createSurface(ANativeWindow*, bool)+324) #03 pc 000000000006ad14 /system/lib64/libhwui.so (androID::uirenderer::renderthread::OpenGLPipeline::setSurface(androID::Surface*, androID::uirenderer::renderthread::SwapBehavior, androID::uirenderer::renderthread::colorMode)+72) #04 pc 00000000000679ec /system/lib64/libhwui.so (androID::uirenderer::renderthread::CanvasContext::setSurface(androID::Surface*)+144) #05 pc 00000000000703bc /system/lib64/libhwui.so (androID::uirenderer::renderthread::BrIDge_initialize(androID::uirenderer::renderthread::initializeArgs*)+16) #06 pc 00000000000726c4 /system/lib64/libhwui.so (androID::uirenderer::renderthread::MethodInvokeRenderTask::run()+24) #07 pc 00000000000738d8 /system/lib64/libhwui.so (androID::uirenderer::renderthread::RenderThread::threadLoop()+336) #08 pc 0000000000011504 /system/lib64/libutils.so (androID::Thread::_threadLoop(voID*)+264) #09 pc 00000000000a9830 /system/lib64/libandroID_runtime.so (androID::AndroIDRuntime::javaThreadShell(voID*)+140) #10 pc 0000000000069c94 /system/lib64/libc.so (__pthread_start(voID*)+36) #11 pc 000000000001eeec /system/lib64/libc.so (__start_thread+68)
更新:
我想这个问题只能由Google自己解决:(问题在这里跟踪https://issuetracker.google.com/issues/70259031
与此同时,有人可以重现问题或至少解释问题何时发生?这有助于找到解决方法!
解决方法:
正在使用Surface的提示为OpenGL ES和GLSurfaceView – 这扩展了VIEw.
一个可能的解决方法可能是禁用视图的硬件加速,这会导致它在AndroID 8.1和9.0上崩溃(如libhwui.so提示) – 因为即使它被修复,任何未更新的设备仍将继续崩溃.这可以按视图完成(参见documentation):
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) { mSurface.setLayerType(VIEw.LAYER_TYPE_SOFTWARE, null);}
当然,这会导致次优性能;但仍然比崩溃更好.
总结以上是内存溢出为你收集整理的android – 使用Oreo(8.1)在开发人员控制台中中止本机崩溃全部内容,希望文章能够帮你解决android – 使用Oreo(8.1)在开发人员控制台中中止本机崩溃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)