11-02 05:19:00.989 912 931 I am_anr : [0,31740,com.android.vending,952811205,Broadcast of Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.android.vending flg=0x4000010 cmp=com.android.vending/com.google.android.finsky.packagemanager.impl.PackageMonitorReceiverImpl$RegisteredReceiver (has extras) }]
"main" prio=5 tid=1 Waiting
| group="main" sCount=1 dsCount=0 obj=0x7413c688 self=0xf0605400
| sysTid=31740 nice=0 cgrp=pnpmgr_bg sched=0/0 handle=0xf3aeb534
| state=S schedstat=( 269936378 1410847 122 ) utm=17 stm=9 core=5 HZ=100
| stack=0xff7d9000-0xff7db000 stackSize=8MB
| held mutexes=
at java.lang.Object.wait!(Native method)
- waiting on <0x0c15d2f3> (a java.lang.Object)
at java.lang.Thread.parkFor$(Thread.java:2127)
- locked <0x0c15d2f3> (a java.lang.Object)
at sun.misc.Unsafe.park(Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:421)
at java.util.concurrent.FutureTask.get(FutureTask.java:163)
at com.google.b.a.a.a.a.a.c.a(SourceFile:44)
at com.google.b.a.a.a.a.a.c.a(SourceFile:17)
at com.google.android.finsky.application.FinskyApplication.getResources(SourceFile:-1)
at org.chromium.net.i.a(SourceFile:11)
at org.chromium.net.f.<init>(SourceFile:1)
at com.google.android.finsky.utils.b.a.<init>(SourceFile:2)
at com.google.android.finsky.application.d.cs(SourceFile:130)
at com.google.android.finsky.application.d.ba(SourceFile:188)
- locked <0x06830bb0> (a java.lang.Object)
at com.google.android.finsky.application.FinskyApplication.onCreate(SourceFile:198)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5503)
at android.app.ActivityThread.-wrap2(ActivityThread.java:-1)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1595)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6251)
at java.lang.reflect.Method.invoke!(Native method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1073)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
子线程
"pool-1-thread-1" prio=5 tid=12 Waiting
| group="main" sCount=1 dsCount=0 obj=0x2ac0a670 self=0xe70d9700
| sysTid=31756 nice=0 cgrp=pnpmgr_bg sched=0/0 handle=0xd5bda920
| state=S schedstat=( 3230768 60000 5 ) utm=0 stm=0 core=0 HZ=100
| stack=0xd5ad8000-0xd5ada000 stackSize=1038KB
| held mutexes=
at java.lang.Object.wait!(Native method)
- waiting on <0x0bce4aba> (a java.lang.Object)
at java.lang.Thread.parkFor$(Thread.java:2127)
- locked <0x0bce4aba> (a java.lang.Object)
at sun.misc.Unsafe.park(Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
在com.google.android.finsky主线程在进行getResources方法时候调用多线程方法,等待子线程,由于子线程pool-1-thread-1一直在做多线程耗时操作,导致主线程一直wait,导致ANR发生,当前android-log未打印出信息,但是通过当前的堆栈可以知道耗时操作在play store内部操作,系统未占用过多CPU资源,三方问题,非系统合作apk,无法处理。