RenderThread 崩溃问题调查

RenderThread 崩溃问题调查

  1. __android_log_assert崩溃

#00 pc 0000000000083134  /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)

    #01 pc 00000000000089f8  /system/lib64/liblog.so (__android_log_assert+324)

    #02 pc 00000000003fa1bc  /system/lib64/libhwui.so (_ZN7android10uirenderer12skiapipeline18SkiaOpenGLPipeline11swapBuffersERKNS0_12renderthread5FrameEbRK6SkRectPNS0_9FrameInfoEPb+172)

    #03 pc 0000000000406dfc  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread13CanvasContext4drawEv+712)

    #04 pc 0000000000405ec4  /system/lib64/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+216)

    #05 pc 0000000000416a64  /system/lib64/libhwui.so (_ZN7android10uirenderer9WorkQueue7processEv+228)

    #06 pc 0000000000416798  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+80)

    #07 pc 000000000001366c  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+288)

    #08 pc 00000000000e28c0  /apex/com.android.runtime/lib64/bionic/libc.so (_ZL15__pthread_startPv+36)

  1. swapBuffer源码

 

https://android.googlesource.com/platform/frameworks/base/+/master/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.cpp

  1. GL_CHECKPOINT的源码

 

  1. LOG_ALWAYS_FATAL_IF的源码

   

 

  也就是说最终会调用到__android_log_assert这个方法

总结:

     通过源码分析,以及 android studio 终端输出日志,大体可以得出结论,显存用完了,也就是oom了,开发人员要去看下是否有内存泄漏,以及大内存开销,以此来解决这个问题


版权声明:本文为c553110519原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。