最近我们项目出现了一些性能问题,在低配手机上会出现大量的 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=

万分感谢

举报· 105 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部