Android报错:05-18 20:38:33.827 8650 8667 E AndroidRuntime: FATAL EXCEPTION: FinalizerWatchdogDaemon 05-18 20:38:33.827 8650 8667 E AndroidRuntime: Process: com.tcl.MultiScreenInteraction_TV, PID: 8650 05-18 20:38:33.827 8650 8667 E AndroidRuntime: java.util.concurrent.TimeoutException: com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at android.os.BinderProxy.transactNative(Native Method) 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at android.os.BinderProxy.transact(BinderProxy.java:566) 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at android.app.IActivityTaskManager$Stub$Proxy.releaseSomeActivities(IActivityTaskManager.java:5695) 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at android.app.ActivityThread$1.run(ActivityThread.java:7547) 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at com.android.internal.os.BinderInternal$GcWatcher.finalize(BinderInternal.java:60) 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:291) 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:278) 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at java.lang.Daemons$Daemon.run(Daemons.java:139) 05-18 20:38:33.827 8650 8667 E AndroidRuntime: at java.lang.Thread.run(Thread.java:923)
时间: 2023-11-27 16:49:24 浏览: 212
这个错误是因为 FinalizerWatchdogDaemon 线程在执行 com.android.internal.os.BinderInternal$GcWatcher.finalize() 方法时,耗时超过了 10 秒,导致了 TimeoutException 异常的抛出。解决这个问题的方法可以参考以下几种:
1. 尝试升级 Android 系统版本,因为一些旧版本的 Android 系统可能存在该问题。
2. 检查你的代码是否存在内存泄漏问题,如果存在内存泄漏问题,可能导致垃圾回收器无法及时回收内存,从而导致 FinalizerWatchdogDaemon 线程超时。
3. 通过增加 FinalizerWatchdogDaemon 线程的超时时间来解决问题。在 Android 应用启动时,可以通过以下代码设置线程的超时时间:
```
System.setProperty("sun.misc.finalizer.timeout", "1000");
```
上面的代码将线程的超时时间设置为 1 秒。但请注意,这种解决方法并不推荐,因为它只是掩盖了问题而不是解决问题。
阅读全文