Tencent / libpag

The official rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations natively across multiple platforms.

Home Page:https://pag.io

Repository from Github https://github.comTencent/libpagRepository from Github https://github.comTencent/libpag

调用replaceImageByName后出现MutexLockWithTimeout崩溃

tohodog opened this issue · comments

【版本信息】

4.4.1

【平台信息】

Android 原生

【预期的表现】

不出现崩溃或有什么方式可以避免

【实际的情况】

在低端机上会出现超时崩溃

【Demo及附件】

vip_button.pag.zip

//示例代码
pagView.setPathAsync(“pagfile”) {
  it.replaceImageByName("Default", PAGImage.FromBitmap(bitmap)
  playAnim()
}

堆栈信息
backtrace:
#00 pc 0x00000000000a6cee /apex/com.android.runtime/lib/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+106)
#1 pc 0x0000000000186915 /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/lib/arm/libpag.so (BuildId: 1ffa18fa73df066d0e14e2e065585e41666e4779)
#2 pc 0x00000000000b884b /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/lib/arm/libpag.so (BuildId: 1ffa18fa73df066d0e14e2e065585e41666e4779)
#3 pc 0x00000000000b88cb /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/lib/arm/libpag.so (Java_org_libpag_PAGFile_nativeReplaceImageByName+82) (BuildId: 1ffa18fa73df066d0e14e2e065585e41666e4779)
#4 pc 0x00000000007ab6df /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/oat/arm/base.odex (art_jni_trampoline+110)
#5 pc 0x000000000129f867 /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/oat/arm/base.odex (org.libpag.PAGFile.replaceImageByName+94)
#6 pc 0x00000000019ba09f /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/oat/arm/base.odex (com.xxx.business.widget.VipButtonV2$e.a+118)
#7 pc 0x0000000001531941 /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/oat/arm/base.odex (pp.m.onLoad+80)
#8 pc 0x000000000129ab6f /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/oat/arm/base.odex (org.libpag.g.run+238)
#9 pc 0x00000000000d7bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68)
#10 pc 0x000000000042e457 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+250)
#11 pc 0x00000000000dffb7 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174)
#12 pc 0x00000000003701f7 /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+54)
#13 pc 0x00000000003710e1 /apex/com.android.runtime/lib/libart.so (art::InvokeVirtualOrInterfaceWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+304)
#14 pc 0x00000000002a0739 /apex/com.android.runtime/lib/libart.so (art::JNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+480)
#15 pc 0x00000000000b3611 /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/lib/arm/libpag.so (BuildId: 1ffa18fa73df066d0e14e2e065585e41666e4779)
#16 pc 0x00000000000b5547 /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/lib/arm/libpag.so (BuildId: 1ffa18fa73df066d0e14e2e065585e41666e4779)
#17 pc 0x00000000000e37a7 /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/lib/arm/libpag.so (BuildId: 1ffa18fa73df066d0e14e2e065585e41666e4779)
#18 pc 0x00000000000e39a1 /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/lib/arm/libpag.so (BuildId: 1ffa18fa73df066d0e14e2e065585e41666e4779)
#19 pc 0x00000000000e3ef7 /data/app/com.xxx-a2oKuYCBK-UUNprTknifZw==/lib/arm/libpag.so (BuildId: 1ffa18fa73df066d0e14e2e065585e41666e4779)
#20 pc 0x00000000000a6293 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+20)
#21 pc 0x0000000000060803 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)