最近我们项目出现了一些性能问题,在低配手机上会出现大量的 anr 和 oom 的问题(主要是 android 9 10)
在堆栈上的显示大多是:
invalid pthread_t 0x<sanitized> passed to pthread_getcpuclockid
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
backtrace:
#00 pc 0x0000000000054070 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
#01 pc 0x00000000000b9110 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_internal_find(long, char const*)+192)
#02 pc 0x00000000000b9030 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_internal_gettid(long, char const*)+8)
#03 pc 0x00000000000b8e24 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_getcpuclockid+24)
#04 pc 0x0000000000498c8c /apex/com.android.art/lib64/libart.so (art::Thread::GetCpuMicroTime() const+40)
#05 pc 0x000000000049898c /apex/com.android.art/lib64/libart.so (art::GetSample(art::Thread*, void*) (.__uniq.52483287290921479263723184702455367361)+204)
#06 pc 0x0000000000498564 /apex/com.android.art/lib64/libart.so (art::Trace::RunSamplingThread(void*)+320)
#07 pc 0x00000000000b8b98 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
#08 pc 0x0000000000055794 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
和
java.lang.OutOfMemoryError
Exception java.lang.OutOfMemoryError: std::bad_alloc
at com.facebook.jni.NativeRunnable.run
at android.os.Handler.handleCallback (Handler.java:761)
at android.os.Handler.dispatchMessage (Handler.java:98)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage (MessageQueueThreadHandler.java:27)
at android.os.Looper.loop (Looper.java:156)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java:233)
at java.lang.Thread.run (Thread.java:776)
如果能够有对这方面有经验的 android 大佬能支援一下帮助解决/定位问题的话,将万分感谢。
(BTW: 我们的项目是用 RN 写的)
有偿
有意向的请联系微信: amFja3lqamNuOTk5Y2w=
万分感谢
|