鸿蒙开发系统基础能力:【@ohos.hichecker (检测模式)】

检测模式

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

说明:  本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

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 表示规则未添加。

示例:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/34532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

存储系统概述

目录 层次结构 存储器的分类 存储器的编址和端模式 存储器端模式 存储器的技术指标 1. 存储容量 示例: 2. 访问速度 访问速度的表现形式: 示例: 3. 功耗 示例: 4. 可靠性 可靠性指标: 示例:…

嵌入式学习(Day50:ARM汇编)

1.ARM的7种工作模式: User:用户模式,非特权模式; FIQ:快速中断模式。高优先级中断 IRQ:中断模式。低优先级中断; Supervisor:管理员模式(特权模式)。当复位或软中断指…

【自然语言处理系列】Python 字符串操作技巧:清理、替换与合并

在编写Python程序时,字符串处理是一项常见的任务。了解如何有效地清理、修改和合并字符串对于数据预处理、文本分析和日常编程都至关重要。本文将引导您通过一系列实用的示例来掌握Python中字符串的核心操作,包括去除不需要的空格和特殊字符、替换文本中…

英语中定冠词the的用法(the用法口诀)

文章目录 口诀英语中定冠词 "the" 的用法详解定冠词 "the" 的基本用途1. 指特定的人或事物示例: 2. 已提及的人或事物示例: 3. 独一无二的事物示例: 定冠词 "the" 在地理名词中的应用1. 山脉、河流、群岛和海洋…

代码随想录算法训练营第六十五天|KM99. 岛屿数量——深搜、KM99. 岛屿数量——广搜、KM100. 岛屿的最大面积

代码随想录算法训练营第六十五天 KM99. 岛屿数量——深搜 题目链接:KM99. 岛屿数量 使用递归深度搜索,将每次遇到的岛屿上下左右记录为已经到过,如果遇到没到过的说明它上下左右不是之间遍历过的岛屿,结果计数1。最后统计计数即…

【机器学习项目实战(二)】基于朴素贝叶斯的中文垃圾短信分类

完整代码、数据集和相应的报告 链接已经放在了正文最下方, 供大家参考学习 摘要 ​ 本文探讨了中文垃圾短信分类的问题,通过收集实际数据集,运用多种机器学习算法进行分类,并对比了不同算法在垃圾短信分类任务上的性能。本研究旨在提高中文垃圾短信的识别准确率,为构建更…

java溯本求源之基础(二十五)之--ArrayList常用方法介绍

1. 介绍 1.1简介 ArrayList ArrayList 是 Java 集合框架中的一个类,位于 java.util 包中。它实现了 List 接口,提供了一个动态数组的功能。与普通数组不同,ArrayList 可以在需要时自动调整其容量,以容纳更多的元素。这使得它非常…

鸣潮基于虚幻引擎4的多平台效果和性能优化实践

《鸣潮》基于虚幻引擎4的多平台效果和性能优化实践 | 王宏波 库洛游戏 文章目录 《鸣潮》基于虚幻引擎4的多平台效果和性能优化实践 | 王宏波 库洛游戏Why Deferred Shading移动端高质量的TAAU渲染流程Ghost和Flicker优化,一些图像空间算法的融入动静态像素的差异处…

第三代全智能AI无人直播系统:销售变现的革新利器

随着科技的飞速发展,人工智能(AI)已经(keJ0277)逐渐渗透到我们生活的方方面面。特别是在直播销售领域,第三代全智能AI无人直播系统的出现,正成为销售变现的革新利器,引领着行业的新一轮变革。一、全智能AI无…

mysql数据库的管理

MySQL数据库管理 mysql数据文件 存放在初始化时定义的datadir 该目录下放置三种后缀文件 .frm 与表相关的元数据(meta),表结构的定义信息等。 .MYD mylSAM存储引擎专用 .MYI mylSAM存储引擎专用 MySQL语言类型 DDL(数据定义语言…

2024.06.24【读书笔记】丨生物信息学与功能基因组学(第十八章 人类疾病 第二部分)【AI测试版】

第二部分:人类遗传疾病的生物信息学方法 章节标题:【读书笔记】丨生物信息学与功能基因组学(第十八章 人类疾病 第二部分) 摘要: 第二部分聚焦于如何利用生物信息学方法来研究人类遗传疾病。随着生物信息学的发展,我们能够通过计算工具和数据库来分析蛋白质、基因和基…

App推广新突破!Xinstall无注册码方案,一键解决您的获客难题

在互联网的浪潮中,App推广与运营面临着前所未有的挑战。随着流量红利的衰退,如何高效、精准地触达用户,提升用户留存和转化率,成为每个企业都必须面对的问题。在这个关键时刻,Xinstall以其无注册码的解决方案&#xff…

使用vant4+vue3制作电商购物网站

一、前言 1.本项目基于vant4vue3构建,默认友友们已具备相关知识,如不具备,请友友们先去了解相关该概念 2.项目数据来源于开源框架 新峰商城 在此指出 3.此项目目的在于帮助友友们了解基本的用法,没有涉及太多的逻辑操作。 二、…

软件设计师笔记-系统开发和运行知识(二)

模块 构成模块(或称为组件)的四个基本要素:输入和输出、处理功能、内部数据、程序代码。 输入 (Input): 输入是模块从外部接收的数据、信号或指令。这些输入数据可以是用户通过用户界面输入的,也可以是从其他模块或系统传递过来的。输入数据的类型、格式和范围对模块的功能…

Java中的安全架构设计与实现

Java中的安全架构设计与实现 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来聊聊Java中的安全架构设计与实现。随着互联网技术的不断发展&#xff0c…

magisk获取root

使用magisk修补boot.img 一定是手机系统匹配的 boot.img 刷入手机的 /storage/emulated/0/Download/ adb push "E:\下载\boot.img" /storage/emulated/0/Download/ 使用 magisk 点击安装, 有Recovery 取消勾选 选择 修补一个文件, 选择手机下…

零基础CMake学习笔记

零基础CMake学习笔记 1. 名词解释make cmake Makefile CMakeLists.txt 2. CMake语法介绍2.1 常用指令2.1.1 project2.1.2 set2.1.3 message2.1.4 add_executable2.1.5 aux_source_directory2.1.6 include_directories2.1.7 add_definitions2.1.8 add_subdirectory2.1.9 add_lib…

针对AIGC检测的鲁棒性测试——常见攻击手段汇总

前言:这篇文章来总结一下针对AIGC检测的常见攻击手段,选取的研究工作均出自近5年AIGC检测相关文章。(论文被拒了需要补实验,先来看看别人怎么做的……) 2019 WIFS Detecting and Simulating Artifacts in GAN Fake Ima…

JavaScript的学习之事件的简介

目录 一、事件是什么 二、如何处理事件 一、事件是什么 定义:事件就是浏览器和用户之间的交互行为。 例如:点击按钮、鼠标移动、关闭窗口等。 二、如何处理事件 我们可以在对应的事件属性中设置一些JS行为,当事件触发的时候会将这些代码执行…

关于Pandas的数据填充

前言 在数据分析与预处理过程中,脏数据几乎不可避免,这直接影响到后续分析的准确性和可靠性。清洗数据中最常见的就是处理空值。Pandas DF的数据填充功能非常强大。本文介绍Pandas中常用的几种数据填充(也称为缺失值处理)方法&am…