Sometimes I notice ANR
of AdView.loadAd
method.
From traces.txt
:
"main" prio=5 tid=1 Blocked
| group="main" sCount=1 dsCount=0 obj=0x742c42a0 self=0xb4d36500
| sysTid=22581 nice=0 cgrp=default sched=0/0 handle=0xb6f46b34
| state=S schedstat=( 754372172 125625046 868 ) utm=54 stm=21 core=2 HZ=100
| stack=0xbe269000-0xbe26b000 stackSize=8MB
| held mutexes=
at com.google.android.gms.dynamite.DynamiteModule.f(com.google.android.gms:play-services-basement@@17.6.0:-1)
- waiting to lock <0x0087c747> (a java.lang.Class<com.google.android.gms.dynamite.DynamiteModule>) held by thread 14
at com.google.android.gms.dynamite.DynamiteModule.c(com.google.android.gms:play-services-basement@@17.6.0:1)
at qd3.d(com.google.android.gms:play-services-ads-lite@@20.2.0:5)
at com.google.android.gms.internal.ads.t.j(com.google.android.gms:play-services-ads-lite@@20.2.0:11)
at com.google.android.gms.ads.b.b(com.google.android.gms:play-services-ads-lite@@20.2.0:1)
at y4.m(AdAdaptive.kt:2)
at y4.<init>(AdAdaptive.kt:15)
at com.example.ActivityMain.onCreate(ActivityMain.java:9)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java:-1)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke!(Native method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
y4.m
from the stracktrace is loadAd
method of AdView
loadAd
method have to be called on the Main thread.
Sample code: Adaptive Banners
Do you also have such this ANR?