"main@4348" prio=5 tid=0x1 nid=NA runnable java.lang.Thread.State: RUNNABLE at example.myapplication999.MainActivity.onResume(MainActivity.java:54) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1269) at android.app.Activity.performResume(Activity.java:6766) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3377) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3440) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2713) at android.app.ActivityThread.-wrap12(ActivityThread.java:-1) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Method.java:-1) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) "FinalizerDaemon@4400" daemon prio=5 tid=0x9b nid=NA waiting java.lang.Thread.State: WAITING blocks FinalizerDaemon@4400 at java.lang.Object.wait(Object.java:-1) at java.lang.Object.wait(Object.java:407) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188) - locked <0x1134> (a java.lang.Object) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:204) at java.lang.Thread.run(Thread.java:761) "FinalizerWatchdogDaemon@4403" daemon prio=5 tid=0x9c nid=NA waiting java.lang.Thread.State: WAITING blocks FinalizerWatchdogDaemon@4403 at java.lang.Object.wait(Object.java:-1) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:269) - locked <0x1135> (a java.lang.Daemons$FinalizerWatchdogDaemon) at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:249) at java.lang.Thread.run(Thread.java:761) "ReferenceQueueDaemon@4401" daemon prio=5 tid=0x9a nid=NA waiting java.lang.Thread.State: WAITING blocks ReferenceQueueDaemon@4401 at java.lang.Object.wait(Object.java:-1) at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:150) - locked <0xb9e> (a java.lang.Class) at java.lang.Thread.run(Thread.java:761) "HeapTaskDaemon@4399" daemon prio=5 tid=0x9d nid=NA waiting for monitor entry java.lang.Thread.State: BLOCKED at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java:-1) at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:433) at java.lang.Thread.run(Thread.java:761) "Signal Catcher@4397" daemon prio=5 tid=0x98 nid=NA waiting java.lang.Thread.State: WAITING Incompatible thread state: thread not suspended "Binder:4052_1@4398" prio=5 tid=0x9e nid=NA runnable java.lang.Thread.State: RUNNABLE Incompatible thread state: thread not suspended "Binder:4052_2@4402" prio=5 tid=0x9f nid=NA runnable java.lang.Thread.State: RUNNABLE Incompatible thread state: thread not suspended "Profile Saver@4347" daemon prio=5 tid=0xa0 nid=NA runnable java.lang.Thread.State: RUNNABLE Incompatible thread state: thread not suspended 

Help to understand what they are.

here is the screen https://gyazo.com/36cd45dbfce709aa4478f7765ba12077

it says for example: 5 similiar threads, i.e. 5 similar threads? how could I have time to run so much. There are similar reports in all applications where SurfaceHolder.Callback is used and drawing is performed in an additional stream.

    1 answer 1

    These are not errors, this is a JVM thread dump (thread dump), which shows the state of each thread and what specific code was executed by this thread.

    It is useful when analyzing various system hangs, search for deadlocks, live blocks, etc.