0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发系统基础能力:ohos.hichecker检测模式

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-24 15:50 次阅读

检测模式

HiChecker可以作为应用开发阶段使用的检测工具,用于检测代码运行过程中部分易忽略的问题,如应用线程出现耗时调用、应用进程中Ability资源泄露等问题。开发者可以通过日志记录或进程crash等形式查看具体问题并进行修改,提升应用的使用体验。

说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

导入模块

import hichecker from '@ohos.hichecker';

常量

提供了所有规则类型的常量。

系统能力: SystemCapability.HiviewDFX.HiChecker

名称参数类型说明
RULE_CAUTION_PRINT_LOGbigint告警规则,当有告警时记录日志。
RULE_CAUTION_TRIGGER_CRASHbigint告警规则,当有告警时让应用推出。
RULE_THREAD_CHECK_SLOW_PROCESSbigint检测规则,检测是否有耗时函数被调用。
RULE_CHECK_ABILITY_CONNECTION_LEAKbigint检测规则,检测是否发生ability泄露。

hichecker.addRule

addRule(rule: bigint): void

添加一条或多条规则到系统,系统根据添加的规则进行检测或反馈。

系统能力: SystemCapability.HiviewDFX.HiChecker

参数:

参数名类型必填说明
rulebigint需要添加的规则。

示例:

// 添加一条规则
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

删除一条或多条规则,删除的规则后续将不再生效。

系统能力: SystemCapability.HiviewDFX.HiChecker

参数:

参数名类型必填说明
rulebigint需要删除的规则。

示例:

// 删除一条规则
hichecker.removeRule(hichecker.RULE_CAUTION_PRINT_LOG);

// 删除多条规则
hichecker.removeRule(
          hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH);

hichecker.getRule

getRule(): bigint

获取当前线程规则、进程规则、告警规则的合集。

系统能力: SystemCapability.HiviewDFX.HiChecker

返回值:

类型说明
bigint当前系统中添加的规则。

示例:

// 添加一条规则
hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS);

// 获取已添加的规则
hichecker.getRule();   // return 1n;

hichecker.contains

contains(rule: bigint): boolean

当前已添加的规则集中是否包含了某一个特定的规则,如果传入的规则级别为线程级别,则仅在当前线程中进行查询。

系统能力: SystemCapability.HiviewDFX.HiChecker

参数:

参数名类型必填说明
rulebigint需要查询的规则。

返回值:

类型说明
boolean查询结果,true 表示规则已添加,false 表示规则未添加。HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151450.png

示例:

// 添加一条规则
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;

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发系统
    +关注

    关注

    0

    文章

    38

    浏览量

    9667
  • 鸿蒙
    +关注

    关注

    57

    文章

    2306

    浏览量

    42730
收藏 人收藏

    评论

    相关推荐

    鸿蒙实战项目开发:【短信服务】

    岗位需要掌握那些核心技术点?为此鸿蒙开发学习必须要系统性的进行。 而网上有关鸿蒙开发资料非常的少,假如你想学好
    发表于 03-03 21:29

    HarmonyOS实战开发-全局状态保留能力弹窗

    // 全局状态保留能力弹窗 模块依赖 不涉及 最后 如果大家觉得这篇内容对学习鸿蒙开发有帮助,我想邀请大家帮我三个小忙: 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。 关注小编,同时可以
    发表于 05-07 14:53

    【HarmonyOS HiSpark AI Camera】鸿蒙系统上的目标检测项目

    项目名称:鸿蒙系统上的目标检测项目试用计划:本人在嵌入式和AI领域有多年的学习和开发经验,曾在2020年华为人工智能赛上获得11名,想在鸿蒙
    发表于 11-19 20:47

    【学习打卡】----鸿蒙系统开发过程中的心得体会

    ,在离我很近的地方。2、鸿蒙系统适合物联网项目开发例如,在物联网项目开发中有两个最基本的需求,一是连接,二是联动(场景)。在传统的开发
    发表于 07-03 18:07

    HarmonyOS/OpenHarmony应用开发-ArkTSAPI系统能力SystemCapability

    ,随着目标设备是否支持该系统能力共同存在或消失,也会随着DevEco Studio一起提供给开发者做联想。 开发者可以在系统
    发表于 08-10 16:39

    鸿蒙原生应用/元服务开发-Stage模型能力接口(一)

    @ohos.app.ability.Ability (Ability基类)一、说明 UIAbility和ExtensionAbility的基类,提供系统配置更新回调和系统内存调整回调。本模块首批接口
    发表于 12-08 16:34

    鸿蒙原生应用/元服务开发-Stage模型能力接口(二)

    系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core2.AbilityConstant.LaunchReas
    发表于 12-11 14:48

    鸿蒙原生应用/元服务开发-Stage模型能力接口(四)

    ‘@ohos.app.ability.AbilityStage’; 1.AbilityStage.onCreate onCreate(): void 当应用创建时调用。 系统能力
    发表于 12-14 15:39

    鸿蒙原生应用/元服务开发-Stage模型能力接口(五)

    在Stage模型下使用 二、 导入模块 import common from \'@ohos.app.ability.common\'; 三、系统能力 :以下各项对应的系统
    发表于 12-15 15:11

    鸿蒙原生应用/元服务开发-Stage模型能力接口(七)

    下文ApplicationContext对系统环境变化监听回调的能力,包括onConfigurationUpdated方法。本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记
    发表于 12-19 11:03

    鸿蒙原生应用/元服务开发-Stage模型能力接口(八)

    ‘@ohos.app.ability.ExtensionAbility’; 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 示例: class MyExtens
    发表于 12-20 16:12

    鸿蒙系统是基于什么开发

    争议,那么鸿蒙系统到底是基于什么开发的呢?下面小编就为大家带来鸿蒙系统是基于什么开发的答案。
    的头像 发表于 07-05 17:12 1.2w次阅读

    鸿蒙开发系统基础能力ohos.hilog 日志打印

    hilog日志系统,使应用/服务可以按照指定级别、标识和格式字符串输出日志内容,帮助开发者了解应用/服务的运行状态,更好地调试程序。
    的头像 发表于 06-25 15:59 402次阅读

    鸿蒙开发系统基础能力ohos.pasteboard 剪贴板

    以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
    的头像 发表于 06-26 16:48 347次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>系统</b>基础<b class='flag-5'>能力</b>:<b class='flag-5'>ohos</b>.pasteboard 剪贴板

    鸿蒙开发系统基础能力ohos.screenLock 锁屏管理

    锁屏管理服务是OpenHarmony中系统服务,为锁屏应用提供注册亮屏、灭屏、开启屏幕、结束休眠、退出动画、请求解锁结果监听,并提供回调结果给锁屏应用。锁屏管理服务向三方应用提供请求解锁、查询锁屏状态、查询是否设置锁屏密码的能力
    的头像 发表于 06-27 11:41 631次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>系统</b>基础<b class='flag-5'>能力</b>:<b class='flag-5'>ohos</b>.screenLock 锁屏管理