openharmony电源管理子系统

ops/2025/1/18 11:13:16/

电源管理子系统

  • 简介
  • 目录
  • 使用说明
  • 相关仓

简介

电源管理子系统提供如下功能:

  1. 重启服务:系统重启和下电。
  2. 系统电源管理服务:系统电源状态管理和休眠运行锁管理。
  3. 显示相关的能耗调节:包括根据环境光调节背光亮度,和根据接近光亮灭屏。
  4. 省电模式 :在不损害主要功能和性能的前提下,提供一种低功耗操作模式 。
  5. 电池服务:支持充放电、电池和充电状态的监测,包括状态的更新和上报,还包括关机充电。
  6. 温控 :在设备温度到一定程度之后对应用、SoC、外设进行管控,限制温升 。
  7. 耗电统计: 主要包括软件耗电和硬件耗电统计,以及单个应用的耗电统计 。
  8. 轻设备电池服务。
  9. 轻设备电源管理服务。

图 1 电源管理子系统架构图

目录

/base/powermgr
├── battery_lite			# 轻设备电池服务
├── battery_manager			# 电池服务
├── battery_statistics		# 耗电统计服务
├── display_manager			# 显示能效管理服务
├── power_manager			# 系统电源管理服务
├── powermgr_lite			# 轻设备电源管理服务
└── thermal_manager			# 温控和热管理服务

使用说明

如架构图示意,电源管理提供了七个子部件,其中部分部件提供了对外接口或者公共事件通知,开发者可以根据场景使用:

  • 通过Power Manager提供的接口可以进行申请和释放休眠运行锁RunningLock、省电模式、亮度调节、重启设备、关机等操作,同时也可以通过公共事件来监听省电模式和关机状态的变化。
  • Battery Manager提供了电池信息查询的接口,同时开发者也可以通过公共事件监听电池状态和充放电状态的变化。
  • Thermal Manager提供的设备温升状态的查询接口,同时开发者也可以通过注册回调和公共事件来监听设备温升状态。
  • Battery Statistics 提供了软硬件耗电统计的功能,可以查询硬件耗电或者应用耗电情况。

相关仓

电源管理子系统

powermgr_power_manager

powermgr_display_manager

powermgr_battery_manager

powermgr_thermal_manager

powermgr_battery_statistics

powermgr_battery_lite

powermgr_powermgr_lite


http://www.ppmy.cn/ops/151072.html

相关文章

Redis系列之底层数据结构整数集IntSet

Redis系列之底层数据结构整数集IntSet 什么是IntSet IntSet,整数集合,是Redis集合类型的一种底层数据结构,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,redis就会选用intset作为底层实现。 IntSet的数…

RabbitMQ与Kafka的比较及应用

引言 在构建分布式系统和微服务架构时,数据库与中间件的选择至关重要。它们不仅是数据流转的桥梁,更是确保系统高效、稳定运行的关键组件。本文将深入探讨两种流行的消息中间件——RabbitMQ与Kafka,从架构特点、优势、应用场景到常见问题解决…

【Uniapp-Vue3】showActionSheet从底部向上弹出操作菜单

底部弹出选择框: uni.showActionSheet({ title:"标题", itemList:选择数组, success:res>{ // 获得res.tapIndex进行操作 } }) 依次选择“高中”,“大专”,“本科”,“研究生” ,下标分别为0,…

服务器卡顿是否等同于遭受CC攻击?

在网站运营或应用服务过程中,遇到服务器响应缓慢或者卡顿时,很多管理员的第一反应是可能遭遇了CC(Challenge Collapsar)攻击。但实际情况往往更为复杂。本文将探讨服务器卡顿与CC攻击之间的关系,并提供一些基本的排查方…

记录一次RPC服务有损上线的分析过程

作者:京东零售 郭宏宇 1. 问题背景 某应用在启动完提供JSF服务后,短时间内出现了大量的空指针异常。 分析日志,发现是服务依赖的藏经阁配置数据未加载完成导致。即所谓的有损上线或者是直接发布,*当\\\*\应用启动时,se…

使用vcpkg安装c++库时出现git网络连接报错的解决方案

使用vcpkg安装c库时出现git连接报错的解决方案 背景解决方案 背景 在使用vcpkg的命令vcpkg install安装库的时候,出现了如下报错 error :failed to fetch ref HEAD from repository https://github.com/microsoft/vcpkg failed to execute: "C:\Program File…

Python----Python高级(面向对象:封装、继承、多态,方法,属性,拷贝,组合,单例)

一、封装 隐藏对象的属性和实现细节,只对外提供必要的方法。相当于将“细节封装起来”,只对外暴露“相关调用方法”。 Python追求简洁的语法,没有严格的语法级别的“访问控制符”,更多的是依靠程序员自觉实现。 class BankAccoun…

mac 安装docker

1、下载docker 进入 /Applications/Docker.app/Contents/MacOS/Docker Desktop.app/Contents/Resources目录 把app.asar 文件备份 将下载的中文包复制进去。修改成一样的名字 [汉化包下载地址](https://github.com/asxez/DockerDesktop-CN)