这只发生在 32 位 Android 设备上调试和发布模式时。 在另一台设备上,其他平台上也一切正常。
我无法找出为什么会发生这种情况。 在 Devtool 上我只能得到
requestHeapSnapshot()
这个信息。
还将 android:largeHeap="true"
添加到清单文件中。
请帮我找出发生这种情况的原因和地点。我怎样才能找到那个?如何使用 devtool 查找此问题的原因?
也尝试过配置文件模式。我得到的唯一日志是以下脚本。而且它是随机发生的。
[+218136 ms] W/Adreno-GSL(15074): <sharedmem_gpuobj_alloc:2461>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
[ +18 ms] E/Adreno-GSL(15074): <gsl_memory_alloc_pure:2236>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
Build fingerprint: 'xiaomi/ysl/ysl:9/PKQ1.181203.001/V12.0.2.0.PEFMIXM:user/release-keys'
Revision: '0'
ABI: 'arm'
pid: 5292, tid: 5409, name: 1.raster >>> com.subbu.p_shop <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1a
Cause: null pointer dereference
r0 00000002 r1 00000003 r2 00000000 r3 a412e5c8
r4 a9aefa58 r5 a9aef8e4 r6 00001f08 r7 00000000
r8 a9aef600 r9 00000000 r10 00000000 r11 00000000
ip 9c97e250 sp 8987b7d8 lr 9c137d0b pc 9c138790
backtrace:
#00 pc 0013f790 /vendor/lib/egl/libGLESv2_adreno.so (EsxRenderBucket::AddUnbucketedEntries(EsxCmdBufType, unsigned int)+132)
#01 pc 0013ed07 /vendor/lib/egl/libGLESv2_adreno.so (EsxRenderBucket::BucketRenderingCmds(EsxRenderBucketParams*)+740)
#02 pc 00172c5d /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketRenderingCmds(int)+712)
#03 pc 000d2ba7 /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BindDrawFramebuffer(EsxFramebufferObject*)+178)
#04 pc 000a2cdd /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::GlBindFramebuffer(unsigned int, unsigned int)+332)
#05 pc 01b9aba1 /data/app/com.subbu.p_shop-6wA9xoQ3OknHQqrmLioLXw==/lib/arm/libflutter.so (offset 0x188d000)
Lost connection to device.
Isar 不支持 x32 平台。