ANR SUSPENDED 情况包括:
GC
Debug
Main Thread for/while 死循环;
代码演示:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { for (int i = 0; i < Integer.MAX_VALUE; i++) { // Log.e("xxxx", "xxx ----- "+i); System.out.print("xxx ----- " + i); } } }); }
log显示:
JNI: CheckJNI is off; workarounds are off; pins=0; globals=310
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)
"main" prio=5 tid=1 SUSPENDED
| group="main" sCount=1 dsCount=0 obj=0x4176de58 self=0x41759820
| sysTid=24839 nice=0 sched=0/0 cgrp=apps handle=1074569556
| state=S schedstat=( 5729365965 350122064 1968 ) utm=561 stm=11 core=1
at java.lang.AbstractStringBuilder.indexOf(AbstractStringBuilder.java:~708)
at java.lang.StringBuilder.indexOf(StringBuilder.java:44)
at com.android.internal.os.LoggingPrintStream.flush(LoggingPrintStream.java:93)
at com.android.internal.os.LoggingPrintStream.print(LoggingPrintStream.java:239)
at com.t.anr.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:4447)
at android.view.View$PerformClick.run(View.java:18445)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5050)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:805)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:621)
at dalvik.system.NativeStart.main(Native Method)