Admob caused ANR?

793 views
Skip to first unread message

Tommy

unread,
Oct 25, 2015, 9:56:30 PM10/25/15
to Google Mobile Ads SDK Developers
Hi, currently i got an ANR report, customer complain it's freezed while playing the game, i've checked the stack trace and i thought that might be caused by the ads, but i don't know why, did someone could help me on this? thanks
Here's the stack trace

DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)

"main" prio=5 tid=1 MONITOR
| group="main" sCount=1 dsCount=0 obj=0x40ce39a0 self=0x40cd2478
| sysTid=12358 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=1074054620
| state=S schedstat=( 0 0 0 ) utm=4371 stm=590 core=0
at com.google.android.a.q.a(SourceFile:~259)
- waiting to lock <0x4209c080> (a com.google.android.a.u) held by tid=51 (AdWorker(Loader) #4)
at com.google.android.a.q.a(SourceFile:206)
at com.google.android.gms.ads.internal.l.a(SourceFile:113)
at com.google.android.a.x.a(SourceFile:311)
at com.google.android.a.x.a(SourceFile:185)
at com.google.android.gms.ads.internal.util.p.a(SourceFile:816)
at com.google.android.gms.ads.internal.g.z.a(SourceFile:131)
at com.google.android.gms.ads.internal.t.b.a(SourceFile:618)
at com.google.android.gms.ads.internal.t.k.run(SourceFile:43)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5365)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)

"AdWorker(Default) #10" prio=5 tid=47 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42000e38 self=0x67f27ad0
| sysTid=13642 nice=10 sched=0/0 cgrp=[fopen-error:2] handle=1657186608
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41d49780> (a java.lang.VMThread) held by tid=47 (AdWorker(Default) #10)
at java.lang.Thread.parkFor(Thread.java:1231)
at sun.misc.Unsafe.park(Unsafe.java:323)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)

"AdWorker(Default) #9" prio=5 tid=27 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42007bc0 self=0x65395e18
| sysTid=13633 nice=10 sched=0/0 cgrp=[fopen-error:2] handle=1611330248
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x42007cd8> (a java.lang.VMThread) held by tid=27 (AdWorker(Default) #9)
at java.lang.Thread.parkFor(Thread.java:1231)
at sun.misc.Unsafe.park(Unsafe.java:323)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)

"Thread-3444" prio=5 tid=55 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41e54808 self=0x65223680
| sysTid=13580 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=1743574728
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1
#00 pc 00018134 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000e44c /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000e4a8 /system/lib/libc.so (__pthread_cond_timedwait+60)
#03 pc 00114325 /system/lib/libwebcore.so
#04 pc 003f71bd /system/lib/libwebcore.so
#05 pc 00313391 /system/lib/libwebcore.so
#06 pc 001141cd /system/lib/libwebcore.so
#07 pc 0000e408 /system/lib/libc.so (__thread_entry+72)
#08 pc 0000daf4 /system/lib/libc.so (pthread_create+160)
at dalvik.system.NativeStart.run(Native Method)

"AdWorker(Loader) #5" prio=5 tid=53 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42067c88 self=0x62c1f448
| sysTid=13578 nice=10 sched=0/0 cgrp=[fopen-error:2] handle=1698427272
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41e35e50> (a java.lang.VMThread) held by tid=53 (AdWorker(Loader) #5)
at java.lang.Thread.parkFor(Thread.java:1231)
at sun.misc.Unsafe.park(Unsafe.java:323)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)

Vu Chau (MobileAds SDK Team)

unread,
Oct 26, 2015, 10:13:15 AM10/26/15
to Google Mobile Ads SDK Developers
Hi Tommy,

Thanks for letting us know about this.  A couple of quick questions to get started:
  1. Are you using Analytics in your game?  There have been a few similar reports in the past, which were ruled out as this specific Analytics issue.
  2. Could you elaborate on your game implementation:
    • how you are fetching and displaying ads
    • which Android & Play services version(s) you see the ANR problem on
    • whether you have a minimal code base capable of reproducing the problem
Thanks,

Vu Chau
Mobile Ads SDK Team

Tommy

unread,
Oct 26, 2015, 11:14:45 PM10/26/15
to Google Mobile Ads SDK Developers
Hi Vu,
1. I do using analytics in my game, but the issue which you linked was occured during analytics intialization.
2. Below is the code for banner ads, once user lanuched the gaming activity, in onCreate of the activity called the getBannerAd function and returens the adview instance, then added it to the banner container layout view
public View getBannerAd(final Activity pActivity) {
    AdView adLayout = new AdView(pActivity);
adLayout.setAdUnitId("UnitId");
adLayout.setAdSize(AdSize.SMART_BANNER);
adLayout.loadAd(adRequest);
return adLayout;
}

I do also have the interstitial ads when launched the gaming activity, and the code is like this
InterstitialAd admobInterstitial = new InterstitialAd(pActivity);
admobInterstitial.setAdUnitId("UnitId");
admobInterstitial.loadAd(new AdRequest.Builder().build());
But i don't think it's caused by the interstitial, since it was initialized in the game start, showned in the game end, but the customer's feedback the app was freezed during the game.
And according to the ANR report in google play console the android version was from 2.3 to 4.3, and the play service version is the latest 8.1.0.
I've tried but cannot reproduce this ANR, just got from the ANR report with customer's complain.
Hope it helps.
Thanks

Vu Chau (MobileAds SDK Team)

unread,
Oct 27, 2015, 2:46:46 PM10/27/15
to Google Mobile Ads SDK Developers
Hi Tommy,

Thanks again for the extra details you provided.

Manipulating the UI (by instantiating and appending layouts) while the game is in progress could cause an ANR if the operation is time-consuming.  Have you tried doing the operations in a background thread instead, e.g. AsyncTask?  Once everything is ready, simply present the layout.  Also, check out Systrace and profile your app to see where the overhead is coming from. 

Other than that, I don't see anything suspicious based on your code snippets.  If we'd like to investigate this issue further, we'd need reliable steps to replicate this ANR on our end.  Feel free to send us the info once you have it ready.

Cheers,

Vu Chau
Mobile Ads SDK Team

Tommy

unread,
Oct 27, 2015, 9:55:53 PM10/27/15
to Google Mobile Ads SDK Developers
Hi Vu,
I don't think it's caused when the banner ads intilized, customer complain it's freezed in the middle of the game, so the banner ads has already been initialized.
I think it's a random freeze so it cannot be reproduced with 100%, would you like me post the stack trace if i got the ANR report again?

Vu Chau (MobileAds SDK Team)

unread,
Oct 28, 2015, 11:43:44 AM10/28/15
to Google Mobile Ads SDK Developers
Hi Tommy,

Do post the stack trace as soon as you are able to reproduce the ANR, or get the report again.  Also, if by any chance you also have the steps that lead to the ANR, send them across.

Thanks!

Vu Chau
Mobile Ads SDK Team

pzyho

unread,
Mar 22, 2016, 6:26:52 PM3/22/16
to Google Mobile Ads SDK Developers
Hi Vu,

Unfortunately I am also receiving similar crashes. I am using the latest GPS. It crashes my app randomly. I am using surface view for displaying the game content. I really appreciate any hints how to solve it/implement workaround.

Please take a look at the stack trace:

"Thread-447" prio=5 tid=1 VMWAIT
  | group="main" sCount=1 dsCount=0 obj=0x422c6390 self=0x5812c5f0
  | sysTid=14836 nice=0 sched=0/0 cgrp=apps handle=1074838376
  | schedstat=( 23140391355 16185843966 51173 ) utm=1789 stm=525 core=0
  #00  pc 0000e080  /system/lib/libc.so (__futex_syscall3+8)
  #01  pc 00013118  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
  #02  pc 00013174  /system/lib/libc.so (__pthread_cond_timedwait+60)
  #03  pc 00049cbb  /system/lib/libdvm.so
  #04  pc 0004add1  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+452)
  #05  pc 00000dcf  /system/bin/app_process
  #06  pc 0002091c  /system/lib/libc.so (__libc_init+64)
  #07  pc 00000b34  /system/bin/app_process
  at dalvik.system.NativeStart.run(Native Method)
"AdWorker(Default) #9" prio=5 tid=34 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41dc4418 self=0x55d837c0
  | sysTid=15380 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1476790288
  | schedstat=( 2839541 21019152 12 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41dc4928> (a java.lang.VMThread) held by tid=34 (AdWorker(Default) #9)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"AdWorker(Default) #8" prio=5 tid=33 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x42865890 self=0x4fa282a0
  | sysTid=15379 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1476981904
  | schedstat=( 14774846 124831309 44 ) utm=1 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x42865a00> (a java.lang.VMThread) held by tid=33 (AdWorker(Default) #8)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"Binder_4" prio=5 tid=14 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x41c4cb68 self=0x57fc09e0
  | sysTid=15301 nice=0 sched=0/0 cgrp=apps handle=1466223392
  | schedstat=( 7269303 26338539 39 ) utm=0 stm=0 core=0
  #00  pc 0000cf70  /system/lib/libc.so (__ioctl+8)
  #01  pc 0003ed50  /system/lib/libc.so (ioctl+28)
  #02  pc 00016bc1  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
  #03  pc 000173a7  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
  #04  pc 0001b211  /system/lib/libbinder.so
  #05  pc 00010f57  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
  #06  pc 0004a04f  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+150)
  #07  pc 00010abd  /system/lib/libutils.so
  #08  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"Binder_3" prio=5 tid=11 SUSPENDED
  | group="main" sCount=1 dsCount=0 obj=0x42325348 self=0x51535938
  | sysTid=15036 nice=0 sched=0/0 cgrp=apps handle=1398187288
  | schedstat=( 16512083 52583458 83 ) utm=0 stm=1 core=1
  at java.lang.String.indexOf(String.java:~934)
  at java.text.SimpleDateFormat.append(SimpleDateFormat.java:587)
  at java.text.SimpleDateFormat.formatImpl(SimpleDateFormat.java:571)
  at java.text.SimpleDateFormat.format(SimpleDateFormat.java:821)
  at java.text.DateFormat.format(DateFormat.java:376)
  at android.app.ActivityThread$MessageLogger.dump(ActivityThread.java:5196)
  at android.app.ActivityThread.dumpMessageHistory(ActivityThread.java:5134)
  at android.app.ActivityThread$ApplicationThread.dumpMessageHistory(ActivityThread.java:1120)
  at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:590)
  at android.os.Binder.execTransact(Binder.java:367)
  at dalvik.system.NativeStart.run(Native Method)
"Thread-434" prio=5 tid=32 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x41cccbf0 self=0x51570fd8
  | sysTid=15003 nice=0 sched=0/0 cgrp=apps handle=1459606832
  | schedstat=( 923539 8684846 3 ) utm=0 stm=0 core=1
  #00  pc 0000e080  /system/lib/libc.so (__futex_syscall3+8)
  #01  pc 00013118  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
  #02  pc 00013174  /system/lib/libc.so (__pthread_cond_timedwait+60)
  #03  pc 000f9bdd  /system/lib/libwebcore.so
  #04  pc 0037dce1  /system/lib/libwebcore.so
  #05  pc 002a3bd5  /system/lib/libwebcore.so
  #06  pc 000f9a9d  /system/lib/libwebcore.so
  #07  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"Thread-428" prio=5 tid=31 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x41d6d580 self=0x54df7790
  | sysTid=14978 nice=0 sched=0/0 cgrp=apps handle=1423520072
  | schedstat=( 646871467 482448381 1190 ) utm=44 stm=20 core=0
  #00  pc 0000de50  /system/lib/libc.so (epoll_wait+12)
  #01  pc 0012cb79  /system/lib/libchromium_net.so
  #02  pc 0012c975  /system/lib/libchromium_net.so
  #03  pc 00058dcd  /system/lib/libchromium_net.so
  #04  pc 000574cb  /system/lib/libchromium_net.so (MessageLoop::RunInternal()+114)
  #05  pc 00057529  /system/lib/libchromium_net.so (MessageLoop::Run()+16)
  #06  pc 00077d89  /system/lib/libchromium_net.so (base::Thread::ThreadMain()+188)
  #07  pc 0007780f  /system/lib/libchromium_net.so
  #08  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"GAC_Executor[1]" prio=5 tid=30 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41c588d8 self=0x54ac23e0
  | sysTid=14963 nice=0 sched=0/0 cgrp=apps handle=1364421168
  | schedstat=( 3134923 15026768 15 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41c55568> (a java.lang.VMThread) held by tid=30 (GAC_Executor[1])

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at maps.bt.b.run(:com.google.android.gms.alldynamite:17)
  at java.lang.Thread.run(Thread.java:856)
"GAC_Executor[0]" prio=5 tid=29 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41c8ed40 self=0x54ac1f90
  | sysTid=14962 nice=0 sched=0/0 cgrp=apps handle=1398791912
  | schedstat=( 4395692 4557384 11 ) utm=0 stm=0 core=1
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41c8e360> (a java.lang.VMThread) held by tid=29 (GAC_Executor[0])

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at maps.bt.b.run(:com.google.android.gms.alldynamite:17)
  at java.lang.Thread.run(Thread.java:856)
"LooperProvider" prio=5 tid=27 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41cd73e0 self=0x54abd3c8
  | sysTid=14938 nice=0 sched=0/0 cgrp=apps handle=1420599568
  | schedstat=( 15058765 11635387 28 ) utm=1 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41d8f9f8> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:364)
  at maps.be.l$1.run(:com.google.android.gms.alldynamite:64)
  at android.os.Handler.handleCallback(Handler.java:615)
  at android.os.Handler.dispatchMessage(Handler.java:92)
  at android.os.Looper.loop(Looper.java:153)
  at android.os.HandlerThread.run(HandlerThread.java:60)
"AdWorker(Default) #7" prio=5 tid=26 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41c46ec0 self=0x54acdd48
  | sysTid=14937 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1420021256
  | schedstat=( 7906463 125700616 26 ) utm=0 stm=0 core=1
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41cfea70> (a java.lang.VMThread) held by tid=26 (AdWorker(Default) #7)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"AdWorker(Default) #6" prio=5 tid=23 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41c50a00 self=0x54abafd8
  | sysTid=14936 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1420538920
  | schedstat=( 264752603 631346781 320 ) utm=19 stm=7 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41ca0fc0> (a java.lang.VMThread) held by tid=23 (AdWorker(Default) #6)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"AsyncTask #2" prio=5 tid=25 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41d7ed90 self=0x535ad228
  | sysTid=14920 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1398462384
  | schedstat=( 1330616 47930998 9 ) utm=0 stm=0 core=1
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41c6a608> (a java.lang.VMThread) held by tid=25 (AsyncTask #2)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"CookieSyncManager" prio=5 tid=24 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x41d8fd30 self=0x55e02a70
  | sysTid=14918 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1440768216
  | schedstat=( 10453692 11817461 17 ) utm=1 stm=0 core=1
  #00  pc 0000de50  /system/lib/libc.so (epoll_wait+12)
  #01  pc 000147a1  /system/lib/libutils.so (android::Looper::pollInner(int)+96)
  #02  pc 00014a09  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+104)
  #03  pc 00060d07  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
  #04  pc 0001df30  /system/lib/libdvm.so (dvmPlatformInvoke+112)
  #05  pc 0004cdbd  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+492)
  #06  pc 00027360  /system/lib/libdvm.so
  #07  pc 0002b3a0  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180)
  #08  pc 0005fbc5  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
  #09  pc 0005fbef  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
  #10  pc 0005454d  /system/lib/libdvm.so
  #11  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at android.os.MessageQueue.nativePollOnce(Native Method)
  at android.os.MessageQueue.next(MessageQueue.java:125)
  at android.os.Looper.loop(Looper.java:140)
  at android.webkit.WebSyncManager.run(WebSyncManager.java:92)
  at android.webkit.CookieSyncManager.run(CookieSyncManager.java:58)
  at java.lang.Thread.run(Thread.java:856)
"WebViewCoreThread" prio=5 tid=22 SUSPENDED
  | group="main" sCount=1 dsCount=0 obj=0x41dc8a30 self=0x56274570
  | sysTid=14916 nice=0 sched=0/0 cgrp=apps handle=1445429816
  | schedstat=( 63469178448 38890953271 61025 ) utm=5915 stm=431 core=0
  at android.os.MessageQueue.nativePollOnce(Native Method)
  at android.os.MessageQueue.next(MessageQueue.java:125)
  at android.os.Looper.loop(Looper.java:140)
  at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:837)
  at java.lang.Thread.run(Thread.java:856)
"AdWorker(Default) #5" prio=5 tid=19 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41dc1928 self=0x562740e0
  | sysTid=14915 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1445414192
  | schedstat=( 1111615 50393230 14 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41dc1b28> (a java.lang.VMThread) held by tid=19 (AdWorker(Default) #5)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"AdWorker(Default) #4" prio=5 tid=21 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41db64c8 self=0x562738f8
  | sysTid=14914 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1440757232
  | schedstat=( 1491535 84347540 19 ) utm=0 stm=0 core=1
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41db65f8> (a java.lang.VMThread) held by tid=21 (AdWorker(Default) #4)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"AdWorker(Default) #3" prio=5 tid=20 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41da9370 self=0x562723a8
  | sysTid=14912 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1440758744
  | schedstat=( 1274541 46629997 15 ) utm=0 stm=0 core=1
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41da94a0> (a java.lang.VMThread) held by tid=20 (AdWorker(Default) #3)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"AdWorker(Default) #2" prio=5 tid=18 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41da8b28 self=0x56271d50
  | sysTid=14911 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1445401032
  | schedstat=( 1880613 47836001 25 ) utm=0 stm=0 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41da8c58> (a java.lang.VMThread) held by tid=18 (AdWorker(Default) #2)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"AdWorker(Default) #1" prio=5 tid=17 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41da6d28 self=0x55e03090
  | sysTid=14910 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1440764504
  | schedstat=( 77049307 586185155 336 ) utm=5 stm=2 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41da6f08> (a java.lang.VMThread) held by tid=17 (AdWorker(Default) #1)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"AsyncTask #1" prio=5 tid=16 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41c312c8 self=0x5356aae0
  | sysTid=14899 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1398198952
  | schedstat=( 171953233 214935071 607 ) utm=13 stm=4 core=1
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41c31460> (a java.lang.VMThread) held by tid=16 (AsyncTask #1)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"pool-1-thread-1" prio=5 tid=15 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x41c1f900 self=0x53569850
  | sysTid=14898 nice=0 sched=0/0 cgrp=apps handle=1398196024
  | schedstat=( 752308 9061769 3 ) utm=0 stm=0 core=1
  at java.lang.Object.wait(Native Method)
  - waiting on <0x41c1fa48> (a java.lang.VMThread) held by tid=15 (pool-1-thread-1)

  at java.lang.Thread.parkFor(Thread.java:1231)
  at sun.misc.Unsafe.park(Unsafe.java:323)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  at java.lang.Thread.run(Thread.java:856)
"SoundPool" prio=5 tid=13 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x414be0a8 self=0x51519e08
  | sysTid=14855 nice=0 sched=0/0 cgrp=apps handle=1363981160
  | schedstat=( 8405077 22967075 105 ) utm=0 stm=0 core=1
  #00  pc 0000e080  /system/lib/libc.so (__futex_syscall3+8)
  #01  pc 00013118  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
  #02  pc 00013174  /system/lib/libc.so (__pthread_cond_timedwait+60)
  #03  pc 0005e52d  /system/lib/libmedia.so (android::SoundPool::run()+22)
  #04  pc 0004a04f  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+150)
  #05  pc 00010abd  /system/lib/libutils.so
  #06  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"SoundPoolThread" prio=5 tid=12 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x414bdd00 self=0x514f3788
  | sysTid=14856 nice=0 sched=0/0 cgrp=apps handle=1363951424
  | schedstat=( 3236997 11211232 22 ) utm=0 stm=0 core=1
  #00  pc 0000e080  /system/lib/libc.so (__futex_syscall3+8)
  #01  pc 00013118  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
  #02  pc 00013174  /system/lib/libc.so (__pthread_cond_timedwait+60)
  #03  pc 0005e7b5  /system/lib/libmedia.so (android::SoundPoolThread::read()+16)
  #04  pc 0005e965  /system/lib/libmedia.so (android::SoundPoolThread::run()+12)
  #05  pc 0004a04f  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+150)
  #06  pc 00010abd  /system/lib/libutils.so
  #07  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"Binder_2" prio=5 tid=10 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x41478970 self=0x51537fd8
  | sysTid=14849 nice=0 sched=0/0 cgrp=apps handle=1364058408
  | schedstat=( 27074608 92026005 127 ) utm=0 stm=2 core=0
  #00  pc 0000cf70  /system/lib/libc.so (__ioctl+8)
  #01  pc 0003ed50  /system/lib/libc.so (ioctl+28)
  #02  pc 00016bc1  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
  #03  pc 000173a7  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
  #04  pc 0001b211  /system/lib/libbinder.so
  #05  pc 00010f57  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
  #06  pc 0004a04f  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+150)
  #07  pc 00010abd  /system/lib/libutils.so
  #08  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"Binder_1" prio=5 tid=9 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x414788b0 self=0x514f1f18
  | sysTid=14847 nice=0 sched=0/0 cgrp=apps handle=1364302272
  | schedstat=( 55582077 228206922 257 ) utm=3 stm=2 core=0
  #00  pc 0000cf70  /system/lib/libc.so (__ioctl+8)
  #01  pc 0003ed50  /system/lib/libc.so (ioctl+28)
  #02  pc 00016bc1  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
  #03  pc 000173a7  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
  #04  pc 0001b211  /system/lib/libbinder.so
  #05  pc 00010f57  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
  #06  pc 0004a04f  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+150)
  #07  pc 00010abd  /system/lib/libutils.so
  #08  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"FinalizerWatchdogDaemon" daemon prio=5 tid=8 TIMED_WAIT
  | group="system" sCount=1 dsCount=0 obj=0x41474910 self=0x5150f150
  | sysTid=14846 nice=0 sched=0/0 cgrp=apps handle=1289704624
  | schedstat=( 2568003 43519228 39 ) utm=0 stm=0 core=0
  at java.lang.VMThread.sleep(Native Method)
  at java.lang.Thread.sleep(Thread.java:1031)
  at java.lang.Thread.sleep(Thread.java:1013)
  at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:253)
  at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:263)
  at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:217)
  at java.lang.Thread.run(Thread.java:856)
"FinalizerDaemon" daemon prio=5 tid=7 WAIT
  | group="system" sCount=1 dsCount=0 obj=0x41474760 self=0x514f3270
  | sysTid=14845 nice=0 sched=0/0 cgrp=apps handle=1364377960
  | schedstat=( 97954242 55518379 225 ) utm=6 stm=3 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x40e2e5f8> (a java.lang.ref.ReferenceQueue)
  at java.lang.Object.wait(Object.java:401)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
  at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:175)
  at java.lang.Thread.run(Thread.java:856)
"ReferenceQueueDaemon" daemon prio=5 tid=6 WAIT
  | group="system" sCount=1 dsCount=0 obj=0x414745f8 self=0x514f6c88
  | sysTid=14844 nice=0 sched=0/0 cgrp=apps handle=1364360896
  | schedstat=( 14395764 23174843 151 ) utm=0 stm=1 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x40e2e520>
  at java.lang.Object.wait(Object.java:364)
  at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:135)
  at java.lang.Thread.run(Thread.java:856)
"Compiler" daemon prio=5 tid=5 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x41474508 self=0x514ffb48
  | sysTid=14843 nice=0 sched=0/0 cgrp=apps handle=1364327952
  | schedstat=( 1473171910 964481785 6272 ) utm=92 stm=55 core=0
  #00  pc 0000e080  /system/lib/libc.so (__futex_syscall3+8)
  #01  pc 00013118  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
  #02  pc 00013174  /system/lib/libc.so (__pthread_cond_timedwait+60)
  #03  pc 00070009  /system/lib/libdvm.so
  #04  pc 00053cb7  /system/lib/libdvm.so
  #05  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"JDWP" daemon prio=5 tid=4 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x41474420 self=0x514e1540
  | sysTid=14842 nice=0 sched=0/0 cgrp=apps handle=1364339344
  | schedstat=( 36107909 84760157 230 ) utm=0 stm=3 core=0
  #00  pc 0000d700  /system/lib/libc.so (nanosleep+12)
  #01  pc 00026168  /system/lib/libc.so (usleep+80)
  #02  pc 00060987  /system/lib/libdvm.so
  #03  pc 000637c1  /system/lib/libdvm.so
  #04  pc 00053cb7  /system/lib/libdvm.so
  #05  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
  | group="system" sCount=0 dsCount=0 obj=0x41474328 self=0x5150fa80
  | sysTid=14841 nice=-8 sched=0/0 cgrp=apps handle=1363929008
  | schedstat=( 157877160 44502915 111 ) utm=3 stm=12 core=1
  at dalvik.system.NativeStart.run(Native Method)
"GC" daemon prio=5 tid=2 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x41474248 self=0x5151ac28
  | sysTid=14838 nice=0 sched=0/0 cgrp=apps handle=1364356248
  | schedstat=( 1343784539 609444072 981 ) utm=125 stm=9 core=0
  #00  pc 0000e080  /system/lib/libc.so (__futex_syscall3+8)
  #01  pc 00013118  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
  #02  pc 00013174  /system/lib/libc.so (__pthread_cond_timedwait+60)
  #03  pc 0006ee19  /system/lib/libdvm.so
  #04  pc 00053cb7  /system/lib/libdvm.so
  #05  pc 000130d4  /system/lib/libc.so (__thread_entry+48)
  at dalvik.system.NativeStart.run(Native Method)
NATIVE THREADS:
"WebViewCoreThre" sysTid=14919 nice=0 sched=0/0 cgrp=apps
  | schedstat=( 608770 4199230 5 ) utm=0 stm=0 core=1
"SignalSender" sysTid=14921 nice=0 sched=0/0 cgrp=apps
  | schedstat=( 27622916 60700998 381 ) utm=0 stm=2 core=0
"WebViewCoreThre" sysTid=14979 nice=0 sched=0/0 cgrp=apps
  | schedstat=( 46393237 19280842 52 ) utm=4 stm=0 core=0
"WebViewCoreThre" sysTid=14981 nice=0 sched=0/0 cgrp=apps
  | schedstat=( 74175150 43176772 60 ) utm=5 stm=2 core=0
"WebViewCoreThre" sysTid=14982 nice=0 sched=0/0 cgrp=apps
  | schedstat=( 26343465 25773537 47 ) utm=2 stm=0 core=0
"WebViewCoreThre" sysTid=14998 nice=0 sched=0/0 cgrp=apps
  | schedstat=( 8323620 61226077 77 ) utm=0 stm=0 core=0
"TexturesGenerat" sysTid=15002 nice=0 sched=0/0 cgrp=apps
  | schedstat=( 151153 4565847 1 ) utm=0 stm=0 core=0
"AudioTrack" sysTid=15399 nice=-16 sched=0/0 cgrp=apps
  | schedstat=( 10425309 41537306 132 ) utm=0 stm=1 core=0
"AudioTrack" sysTid=15564 nice=-16 sched=0/0 cgrp=apps
  | schedstat=( 8604073 19747770 79 ) utm=0 stm=0 core=0
----- end 14836 -----

Vu Chau (Mobile Ads SDK Team)

unread,
Mar 23, 2016, 10:10:33 AM3/23/16
to Google Mobile Ads SDK Developers
Hi there,

Thanks for the info! As noted, we do have existing work on ANR issues, so I will inform the rest of the team of your instance, as well.

In the meantime, I'd recommend profiling your game (if you haven't) using the various tools that come with Android Studio.  In particular, use Systrace and check through the trace to see if there are any patterns in dropped frames or so.  Take note of when in the game's lifecycle you tend to see a lot of work (more CPU activity, more dropped frames than expected, more work being done on the main thread).  ANR generally occurs where there is too much work on the UI/main thread (causing the screen not to update at the normal rate and respond), so pay attention to your UI thread.  Make sure it stays responsive, i.e. at around 60 fps.

Vu Chau
Mobile Ads SDK Team

Reply all
Reply to author
Forward
0 new messages