Report via firebase Crashlytics
Operating Systems: 99% Android 11
Affected Devices: 19% Tecno Mobile Limited, 14% Samsung, 14% Infinix Mobility Limited, 11% OPPO, 42% Others
ANR Velocity: Low (300+ users)
Reproducible: No (no sample)
SDK Version: 21.4.0
Already implemented
Optimize initialization and ad loadingIn My Application, I use Banner Ads, Native Ads, Interstitial Ads & OpenApp Ads but it generates ANR when I add an extras bundle to Banner ad before this app was perfect.
Code:val bundle = Bundle().apply {
putString("collapsible", "bottom")
}
val adRequest = AdRequest
.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, bundle)
.build()
adaptiveAdView?.loadAd(adRequest)
ANR Trace:
1 N.java
main (native):tid=1 systid=8726
#00 pc 0x34038 libc.so (syscall + 28)
#01 pc 0x39149 libc.so (__futex_wait_ex(void volatile, bool, int, bool, timespec const) + 92)
#02 pc 0x7fe33 libc.so (pthread_cond_wait + 32)
#03 pc 0x214be65 TrichromeLibrary.apk!libmonochrome.so
#04 pc 0x1f5f13f TrichromeLibrary.apk!libmonochrome.so
#05 pc 0x1f5ed1d TrichromeLibrary.apk!libmonochrome.so
#06 pc 0x1f5ea2f TrichromeLibrary.apk!libmonochrome.so
#07 pc 0x1f5e8f7 TrichromeLibrary.apk!libmonochrome.so
#08 pc 0x1f5e76b TrichromeLibrary.apk!libmonochrome.so
#09 pc 0x196eecd TrichromeLibrary.apk!libmonochrome.so
#10 pc 0x21d62c5 TrichromeLibrary.apk!libmonochrome.so
#11 pc 0x104b4b9 TrichromeLibrary.apk!libmonochrome.so
#12 pc 0x12b4d7b TrichromeLibrary.apk!libmonochrome.so
#13 pc 0xc8a0a9 TrichromeLibrary.apk!libmonochrome.so (Java_J_N_MTXp4fn_1 + 152)
at J.N.MTXp4fn_(N.java)
at f9.onDraw(f9.java:50)
at com.android.webview.chromium.WebViewChromium.onDraw(WebViewChromium.java:9)
at android.webkit.WebView.onDraw(WebView.java:2887)
at com.google.android.gms.ads.internal.webview.ac.onDraw(ac.java)
at android.view.View.draw(View.java:22504)
at android.view.View.draw(View.java:22370)
at android.view.ViewGroup.drawChild(ViewGroup.java:4604)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4365)
at android.view.View.buildDrawingCacheImpl(View.java:21747)
at android.view.View.buildDrawingCache(View.java:21609)
at android.view.View.getDrawingCache(View.java:21439)
at android.view.View.getDrawingCache(View.java:21390)
at com.google.android.gms.ads.internal.gmsg.an.a(an.java:70)
at com.google.android.gms.ads.internal.webview.q.B(q.java:4)
at com.google.android.gms.ads.internal.webview.q.e(q.java:8)
at com.google.android.gms.ads.internal.webview.ah.run(ah.java:4)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at ass.a(ass.java)
at com.google.android.gms.ads.internal.util.f.a(f.java:1)
at ass.dispatchMessage(ass.java)
at android.os.Looper.loop(Looper.java:268)
at android.app.ActivityThread.main(ActivityThread.java:8016)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)
Signal Catcher (runnable):tid=4 systid=8736
#00 pc 0x37145d libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap, char const, art::ArtMethod, void, bool) + 76)
#01 pc 0x440257 libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const + 386)
#02 pc 0x43bc23 libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const + 34)
#03 pc 0x458a95 libart.so (art::DumpCheckpoint::Run(art::Thread*) + 664)
#04 pc 0x45406f libart.so (art::ThreadList::RunCheckpoint(art::Closure, art::Closure) + 354)
#05 pc 0x4535a3 libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool) + 1486)
#06 pc 0x452c9d libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) + 604)
#07 pc 0x40b497 libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) + 130)
#08 pc 0x41b01b libart.so (art::SignalCatcher::HandleSigQuit() + 1046)
#09 pc 0x41a3bf libart.so (art::SignalCatcher::Run(void*) + 246)
#10 pc 0x807b3 libc.so (__pthread_start(void*) + 40)
#11 pc 0x39d83 libc.so (__start_thread + 30)
Jit thread pool worker thread 0 (native):tid=5 systid=8737
#00 pc 0x34038 libc.so (syscall + 28)
#01 pc 0x130fb3 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 82)
#02 pc 0x459f9f libart.so (art::ThreadPool::GetTask(art::Thread*) + 58)
#03 pc 0x4596b1 libart.so (art::ThreadPoolWorker::Run() + 72)
#04 pc 0x459305 libart.so (art::ThreadPoolWorker::Callback(void*) + 116)
#05 pc 0x807b3 libc.so (__pthread_start(void*) + 40)
#06 pc 0x39d83 libc.so (__start_thread + 30)
ReferenceQueueDaemon (waiting):tid=7 systid=8739
at java.lang.Object.wait(Object.java)
at java.lang.Object.wait(Object.java:442)
at java.lang.Object.wait(Object.java:568)
at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:217)
at java.lang.Daemons$Daemon.run(Daemons.java:139)
at java.lang.Thread.run(Thread.java:923)