RenderThread 崩溃问题调查
#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)
也就是说最终会调用到__android_log_assert这个方法
总结:
通过源码分析,以及 android studio 终端输出日志,大体可以得出结论,显存用完了,也就是oom了,开发人员要去看下是否有内存泄漏,以及大内存开销,以此来解决这个问题