diff --git a/zh-cn/application-dev/reference/apis/js-apis-hichecker.md b/zh-cn/application-dev/reference/apis/js-apis-hichecker.md new file mode 100644 index 0000000000000000000000000000000000000000..77c836d842ab5b6d3ade407457bc73427481e10a --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-hichecker.md @@ -0,0 +1,126 @@ +# 检测模式 + +> **说明:** +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +``` +import hichecker from '@ohos.hichecker'; +``` + + +## 系统能力 + +SystemCapability.HiviewDFX.HiChecker + +## 规则常量 + +提供了所有规则类型的常量。 + +| 名称 | 参数类型 | 说明 | +| ---------------------------------- | -------- | ------------------------------------------------------ | +| RULE_CAUTION_PRINT_LOG | BigInt | 告警规则,当有告警时记录日志。 | +| RULE_CAUTION_TRIGGER_CRASH | BigInt | 告警规则,当有告警时让应用推出。 | +| RULE_THREAD_CHECK_SLOW_PROCESS | BigInt | 检测规则,检测是否有耗时函数被调用。 | +| RULE_CHECK_SLOW_EVENT | BigInt | 检测规则,检测是否有事件分发或处理超过规定的时间阈值。 | +| RULE_CHECK_ABILITY_CONNECTION_LEAK | BigInt | 检测规则,检测是否发生ability泄露。 | + + +## hichecker.addRule + +addRule(rule: BigInt): void + +添加一条或多条规则到系统,系统根据添加的规则进行检测或反馈。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ------ | ---- | ---------------- | + | rule | BigInt | 是 | 需要添加的规则。 | + +- 示例: + + ``` + // 添加一条规则 + hichecker.addRule(hichecker.RULE_CAUTION_PRINT_LOG); + + // 添加多条规则 + hichecker.addRule( + hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH); + ``` + +## hichecker.removeRule + +removeRule(rule: BigInt): void + +删除一条或多条规则,删除的规则后续将不再生效。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ------ | ---- | ---------------- | + | rule | BigInt | 是 | 需要删除的规则。 | + +- 示例: + + ``` + // 删除一条规则 + hichecker.removeRule(hichecker.RULE_CAUTION_PRINT_LOG); + + // 删除多条规则 + hichecker.removeRule( + hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH); + ``` + +## hichecker.getRule() + +getRule(): BigInt + +获取当前线程规则、进程规则、告警规则的合集。 + +- 返回值: + + | 类型 | 说明 | + | ------ | ---------------------- | + | BigInt | 当前系统中添加的规则。 | + +- 示例: + + ``` + // 添加一条规则 + hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); + + // 获取已添加的规则 + hichecker.getRule(); // return 1n; + ``` + +## hichecker.contains + +contains(rule: BigInt): boolean + +当前已添加的规则集中是否包含了某一个特定的规则,如果传入的规则级别为线程级别,则仅在当前线程中进行查询。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ------ | ---- | ---------------- | + | rule | BigInt | 是 | 需要查询的规则。 | + +- 返回值: + + | 类型 | 说明 | + | ------- | ---------------------------------------------------------- | + | boolean | 查询结果,true 表示规则已添加,false 表示规则未添加。 | + +- 示例: + + ``` + // 添加一条规则 + hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); + + // 查询是否包含 + hichecker.contains(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); // return true; + hichecker.contains(hichecker.RULE_CAUTION_PRINT_LOG); // return false; + ```