booster icon indicating copy to clipboard operation
booster copied to clipboard

FinalizerWatchdogDaemonKiller 需要排除 Android 9.0以上

Open forJrking opened this issue 4 years ago • 1 comments

FinalizerWatchdogDaemonKiller 中并没有做ROM兼容适配,统一的停止了 FinalizerWatchdogDaemon,而根据张绍文的课程指导,建议9.0以下可以这样用,并且在项目实际使用中,发现9.0华为手机崩溃日志中出现

Shutdown thread

java.lang.IllegalStateException not running 1 java.lang.Daemons$Daemon.stop(Daemons.java:138) 2 java.lang.Daemons.stop(Daemons.java:60)

这里建议大家首先获取厂商设置的真实时间

public static long getDaemonsTime() {
        try {
            Class<?> c = Class.forName("java.lang.Daemons");
            Field maxField = c.getDeclaredField("MAX_FINALIZE_NANOS");
            maxField.setAccessible(true);
            return maxField.getLong(c);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return 0;
    }

超过30s的都不建议停止,而应该找项目中有问题的代码。

forJrking avatar Oct 22 '19 06:10 forJrking

我们先验证一下

johnsonlee avatar Oct 22 '19 08:10 johnsonlee