一般log有错误的内存泄露提示“GL error: Out of memory!”"GL_OUT_OF_MEMORY",我们就需要使用工具去一步一步的获取哪些模块类里面的方法出了问题,然后一个一个去尝试找出问题,以下是个人经历:
问题点:蓝牙传输多个文件,引发蓝牙报停,log打印crash:
OpenGLRenderer: GL error: Out of memory!
OpenGLRenderer: glFinish error! GL_OUT_OF_MEMORY (0x505)
PackageManager: getApplicationInfo com.android.bluetooth: Package{8e1b6a4 com.android.bluetooth}
PackageManager: getApplicationInfo com.android.bluetooth: Package{8e1b6a4 com.android.bluetooth}
libc : Fatal signal 6 (SIGABRT), code -6 in tid 3504 (RenderThread), pid 3235 (droid.bluetooth)
PackageManager: getApplicationInfo com.android.bluetooth: Package{8e1b6a4 com.android.bluetooth}
PackageManager: getApplicationInfo com.android.bluetooth: Package{8e1b6a4 com.android.bluetooth}
PackageManager: getApplicationInfo com.android.bluetooth: Package{8e1b6a4 com.android.bluetooth}
PackageManager: getApplicationInfo com.android.bluetooth: Package{8e1b6a4 com.android.bluetooth}
PackageManager: getApplicationInfo com.android.bluetooth: Package{8e1b6a4 com.android.bluetooth}
PackageManager: getApplicationInfo com.android.bluetooth: Package{8e1b6a4 com.android.bluetooth}
crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
/system/bin/tombstoned: received crash request for pid 3235
crash_dump32: performing dump of process 3235 (target tid = 3504)
DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
DEBUG : Build fingerprint: 'Itel/F0901/itel-A22:8.1.0/0209/A22-F0901-8.1.0-OP-V001-20180209:user/release-keys'
DEBUG : Revision: '0'
DEBUG : ABI: 'arm'
DEBUG : pid: 3235, tid: 3504, name: RenderThread >>> com.android.bluetooth <<<
DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
DEBUG : Abort message: 'glFinish error! GL_OUT_OF_MEMORY (0x505)'
DEBUG : r0 00000000 r1 00000db0 r2 00000006 r3 00000008
DEBUG : r4 00000ca3 r5 00000db0 r6 918f53ac r7 0000010c
DEBUG : r8 00000000 r9 00000505 sl ac77bee0 fp ac7e4c37
DEBUG : ip ac77beb4 sp 918f5398 lr ad87ade3 pc ad8747cc cpsr 20070030
DEBUG :
DEBUG : backtrace:
DEBUG : #00 pc 0001a7cc /system/lib/libc.so (abort+63)
DEBUG : #01 pc 000065c3 /system/lib/liblog.so (__android_log_assert+154)
DEBUG : #02 pc 0002feb1 /system/lib/libhwui.so (android::uirenderer::debug::GlesErrorCheckWrapper::assertNoErrors(char const*)+200)
DEBUG : #03 pc 0005c935 /system/lib/libhwui.so (android::uirenderer::Caches::flush(android::uirenderer::Caches::FlushMode)+116)
DEBUG : #04 pc 000490db /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::destroy()+38)
DEBUG : #05 pc 00048f71 /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::~CanvasContext()+28)
DEBUG : #06 pc 00049171 /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::~CanvasContext()+2)
DEBUG : #07 pc 0004f701 /system/lib/libhwui.so (android::uirenderer::renderthread::Bridge_destroyContext(android::uirenderer::renderthread::de
DEBUG : #08 pc 000508cb /system/lib/libhwui.so (android::uirenderer::renderthread::MethodInvokeRenderTask::run()+10)