Android使用自定义字体,加载文档引发了崩溃

sdk: android.via.java 20.9
因为默认的字体渲染有问题。之前我提过这个问题。20.9 word android.via.java 文档渲染问题

为了显示正常,我使用了DroidSansFallback.ttf这个字体,使用的是setFontSetting的方法
当使用了自定义的TrueType字体时,加载一个较大的文档会经常发生crash。假如不使用自定义的字体,则不会发生crash。
机型:OnePlus 7 Pro
文档:Dropbox - 测试字数超1万字 (2).docx
crash信息如下:
1 #00 pc 00054322 /apex/com.android.runtime/lib/bionic/libc.so (abort+165) [armeabi-v7a]
2 #01 pc 00005a29 /system/lib/liblog.so (__android_log_assert+176) [armeabi-v7a]
3 #02 pc 001fbf87 /system/lib/libhwui.so [armeabi-v7a]
4 #03 pc 001f9a07 /system/lib/libhwui.so [armeabi-v7a]
5 #04 pc 001f8ff5 /system/lib/libhwui.so [armeabi-v7a]
6 #05 pc 002076fd /system/lib/libhwui.so [armeabi-v7a]
7 #06 pc 0020754f /system/lib/libhwui.so [armeabi-v7a]
8 #07 pc 0000d88f /system/lib/libutils.so (android:::Thread::_threadLoop(void*)+210) [armeabi-v7a]
9 #08 pc 0009c451 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+20) [armeabi-v7a]
10 #09 pc 000557c9 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30) [armeabi-v7a]
我怀疑是因为设置的字体造成了内存问题,导致app无法的其他功能无法正常使用。
因为当我没有给fontSetting设置自定义的source时,没有触发这个问题。

补充:
跟自定义的字体没有关系,我们有设置个过一个系统中存在的字体,如果加载的文档过多。
在一些机型上会崩溃,另外一个机型上就无法操作了。系统中抛出了如下了错误日志:
E/[Gralloc-ERROR]: mali_gralloc_ion_map:1109 mmap( share_fd:388 ) failed with Out of memory

E/[Gralloc-ERROR]: mali_gralloc1_import_buffer:746 Buffer: 0xba8d1d40 cannot be imported

E/GraphicBuffer: unflatten: registerBuffer failed: Unknown error -5 (5)

E/Surface: dequeueBuffer: IGraphicBufferProducer::requestBuffer failed: 5

看起来是占用了过多内存没有释放导致的。

假如设置了自定义字体,那么这个问题更容易出现。

@ZhangChuanchuan

您可以ZIP并在此处附加文档中使用的字体进行测试吗? 请同时分享代码示例(无编译错误的源代码),以在我们的末端重现此问题。 我们将对此问题进行调查,并为您提供更多信息。