didi / didi/booster

FinalizerWatchdogDaemonKiller 需要排除 Android 9.0以上

Open
#105 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
5.1k
Forks
591
PR merge metrics
No merged PRs in 30d

Description

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的都不建议停止,而应该找项目中有问题的代码。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.