惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
The Cloudflare Blog
IT之家
IT之家
雷峰网
雷峰网
小众软件
小众软件
博客园 - 叶小钗
博客园 - 聂微东
爱范儿
爱范儿
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
博客园 - 【当耐特】
V
V2EX
博客园_首页
T
Tailwind CSS Blog

博客园 - webabcd

开天辟地 HarmonyOS(鸿蒙) - 工具: Targets, Products 开天辟地 HarmonyOS(鸿蒙) - 测试: 单元测试 开天辟地 HarmonyOS(鸿蒙) - 优化: errorManager(捕获未处理异常) 开天辟地 HarmonyOS(鸿蒙) - 优化: HiAppEvent(事件日志) 开天辟地 HarmonyOS(鸿蒙) - 优化: hilog 日志 开天辟地 HarmonyOS(鸿蒙) - 安全: 用户认证 开天辟地 HarmonyOS(鸿蒙) - 安全: 申请权限 开天辟地 HarmonyOS(鸿蒙) - 安全: 关键资产 开天辟地 HarmonyOS(鸿蒙) - 安全: 加密解密 开天辟地 HarmonyOS(鸿蒙) - 信息: CommonEventManager(用于进程间通信,以及订阅系统事件) 开天辟地 HarmonyOS(鸿蒙) - 信息: emitter(用于同一进程内不同线程间或同一线程内发送和订阅事件) 开天辟地 HarmonyOS(鸿蒙) - 信息: 各种信息 开天辟地 HarmonyOS(鸿蒙) - 华为账号: 华为账号的默认登录 开天辟地 HarmonyOS(鸿蒙) - 元服务: 元服务 开天辟地 HarmonyOS(鸿蒙) - 媒体: AVImageGenerator(提取视频指定时间点的图像) 开天辟地 HarmonyOS(鸿蒙) - 媒体: AVMetadataExtractor(提取视频或音频的元数据信息) 开天辟地 HarmonyOS(鸿蒙) - 媒体: AVTranscoder(视频转码) 开天辟地 HarmonyOS(鸿蒙) - 媒体: SoundPool(音效播放器) 开天辟地 HarmonyOS(鸿蒙) - 媒体: AVPlayer(播放器,用于播放视频或音频)
开天辟地 HarmonyOS(鸿蒙) - 优化: HiDebug(用于获取 cpu, ...
webabcd · 2025-06-13 · via 博客园 - webabcd

源码 https://github.com/webabcd/HarmonyDemo
作者 webabcd

开天辟地 HarmonyOS(鸿蒙) - 优化: HiDebug(用于获取 cpu, 内存等信息)

示例如下:

pages\optimize\HiDebugDemo.ets

/**
 * HiDebug(用于获取 cpu, 内存等信息)
 */

import { TitleBar } from '../TitleBar'
import { hidebug } from '@kit.PerformanceAnalysisKit'
import { Helper } from '../../utils/Helper'

@Entry
@Component
struct HiDebugDemo {

  build() {
    Column({ space: 10 }) {
      TitleBar()
      Tabs() {
        TabContent() { MySample1() }.tabBar('基础').align(Alignment.Top)
      }
      .scrollable(true)
      .barMode(BarMode.Scrollable)
      .layoutWeight(1)
    }
  }
}

@Component
struct MySample1 {

  @State message: string = ""

  build() {
    Column({ space: 10 }) {

      Button('获取 cpu, 内存等信息').onClick(() => {
        try {
          /*
           * hidebug - 用于获取 cpu, 内存等信息
           *   getSystemCpuUsage() - 当前的 cpu 的占用比例
           *   getSystemMemInfo() - 当前的内存信息(一个 SystemMemInfo 对象)
           *     totalMem - 总内存,单位:KB
           *     freeMem - 空闲内存(即未被使用的内存),单位:KB
           *     availableMem - 可用内存(即空闲内存加上可快速回收利用的内存),单位:KB
           *   getCpuUsage() - 当前进程的 cpu 的占用比例
           *   getAppNativeMemInfo() - 当前进程的内存信息(一个 NativeMemInfo 对象)
           *     rss - 当前进程实际占用的物理内存,单位:KB
           *       其会包括共享库占用的所有的物理内存
           *     pss - 当前进程实际占用的物理内存,单位:KB
           *       其会按比例分摊共享库占用的物理内存,比如有 5 个进程共享一个 10MB 的库,则每个进程的 pss 中会包含该库的 2MB
           *     vss - 当前进程实际占用的虚拟内存,单位:KB
           *       其会包括共享库占用的所有的虚拟内存,这个虚拟内存既包括已经被分配了物理内存的部分,也包括尚未分配物理内存的部分
           */
          this.message += `getSystemCpuUsage: ${hidebug.getSystemCpuUsage()}\n`
          this.message += `totalMem: ${Helper.formatWithThousandSeparator(hidebug.getSystemMemInfo().totalMem)}\n`
          this.message += `freeMem: ${Helper.formatWithThousandSeparator(hidebug.getSystemMemInfo().freeMem)}\n`
          this.message += `availableMem: ${Helper.formatWithThousandSeparator(hidebug.getSystemMemInfo().availableMem)}\n`

          this.message += `getCpuUsage: ${hidebug.getCpuUsage()}\n`
          this.message += `rss: ${Helper.formatWithThousandSeparator(hidebug.getAppNativeMemInfo().rss)}\n`
          this.message += `pss: ${Helper.formatWithThousandSeparator(hidebug.getAppNativeMemInfo().pss)}\n`
          this.message += `vss: ${Helper.formatWithThousandSeparator(hidebug.getAppNativeMemInfo().vss)}\n`
        } catch (error) {
          this.message = `${JSON.stringify(error)}`
        }
      })

      Text(this.message)
    }
  }
}

源码 https://github.com/webabcd/HarmonyDemo
作者 webabcd