当前位置: 首页 > news >正文

Android 分析底电流高即功耗大的几个方面

打开飞行模式,避免蓝牙、wifi、NFC、网络、FM等的一般影响。

各个外设模块休眠漏电或未休眠,----比如屏或TP,灯节点,nfc,指纹,人脸

GPIO/subsys/pll/clock口漏电,  -----关闭不用的模块和端口

wakelock导致无法休眠,   ----唤醒和释放

modem无法休眠     ---需要射频分析

CPU高负载、---降低帧率和分辨率,开启硬件加速

高亮度显示器、----降低亮度和刷新率

频繁GPS定位、----增加间隔和降低频率,定位模块调用存在问题

后台运行程序、  -----关闭或杀掉后台运行的进程

高频率网络通信     ---减少数据传输和网络唤醒,减少频繁访问

音量音效        ---降低音量,降级音效算法,精细化音频参数

Sersor类型使用    -----SENSOR_DELAY_FASTEST替换成SENSOR_DELAY_NORMAL

Sensor模块的排查    ----光感,距感,磁感,重感,霍尔,陀螺仪

关闭不需要加载的宏控     -----针对 defconfig.mk 和 lk.mk 宏控实现功耗优化

充电与电源管理模块优化

  • 关闭冗余充电协议
    在 lk.mk 中禁用非必要快充协议(如 PE+、QC4.0),减少充电电路动态功耗:

    MTK_PUMP_EXPRESS_PLUS_SUPPORT := no MTK_DUAL_CHARGER_SUPPORT := no

    同步在 defconfig 中注释相关宏:

    # CONFIG_MTK_PUMP_EXPRESS_PLUS_SUPPORT is not set

  • # CONFIG_MT6370_PMU_CHARGER is not set

    此操作可降低充电管理芯片的静态功耗。

  • 简化 PMIC 功能
    禁用未使用的电源管理单元(如 LED 驱动、LDO 稳压器):

    MTK_MT6370_PMU_BLED_SUPPORT := no MTK_MT6370_PMU_RGBLED_SUPPORT := no

    对应 defconfig 需关闭 CONFIG_MT6370_PMU_BLED 等宏。


2. 外设与总线功耗控制

  • 动态关闭闲置外设
    在 defconfig 中禁用非关键外设驱动(如未使用的 SPI/I2C 控制器):

  • # CONFIG_I2C_DEBUG_CORE is not set

  • # CONFIG_SPI_DEBUG is not set

  • 配合 lk.mk 设置外设初始化策略为按需加载:

    MTK_LCM_PHYSICAL_ROTATION := 0 # 关闭屏幕旋转传感器

  • 优化总线电源状态
    启用 PCIe/USB 的 ASPM 低功耗模式(需硬件支持):

    CONFIG_PCIEASPM_POWERSAVE=y

    并在 lk.mk 中强制生效:

    MTK_USB_AUTO_SUSPEND := 1


3. 内核调试与日志精简

  • 移除调试工具
    删除 defconfig 中的调试宏,降低内核日志开销:

    # CONFIG_DEBUG_KERNEL is not set

  • # CONFIG_FTRACE is not set

    同步清理 lk.mk 中的调试模块:

    MTK_DEBUG_LATCH_SUPPORT := no

  • 关闭性能监控
    禁用非必要的性能计数器(如 CPU 占用统计):

    # CONFIG_PERF_EVENTS is not set

    可减少约 5-10% 的调度器开销。


4. 核心调度策略调整

  • 启用低功耗调度器
    在 defconfig 中配置 CPU 调频策略:

    CONFIG_CPU_FREQ_GOV_POWERSAVE=y

  • CONFIG_CPU_IDLE_GOV_MENU=y

    并通过 lk.mk 设置默认 governor:

    MTK_CPU_FREQ_GOVERNOR := powersave

  • 限制 CPU 最大频率
    在 lk.mk 中定义频率上限(单位 kHz):

    MTK_CPU_MAX_FREQ := 1800000

    避免高性能模式下的功耗峰值。

http://www.dtcms.com/a/314401.html

相关文章:

  • React 19 + Next.js 15 中实现混合布局
  • React Hooks 原理深度解析与最佳实践
  • Spring IoC容器与Bean管理
  • labview连接PLC的三种方式
  • 设计模式-创建型-工厂模式
  • 阿里云与华为云产品的差异
  • RTSP/RTMP播放器超低延迟实战:无人机远控视觉链路的工程实践
  • 项目配置文件正确但是启动失败,报配置文件内容错误或中间件地址与实际不符
  • wpf Image 转 90 度
  • 深入浅出 RabbitMQ:工作队列实战(轮训策略VS公平策略)
  • ShowDoc与Docmost对比分析:开源文档管理工具的选择指南
  • 05 基于sklearn的机械学习-梯度下降(下)
  • 神经网络---非线性激活
  • Vue 响应式数据核心:ref 与 reactive 的本质区别
  • transformer与神经网络
  • CMakeLists.txt学习
  • C++ 中 initializer_list 类型推导
  • Exporters | 安装elasticsearch_exporter
  • Kali基础知识点【2】
  • 【论文阅读】ACE: Explaining cluster from an adversarial perspective
  • 【Java】HashMap线程安全吗?
  • 随笔之 ClickHouse 列式分析数据库安装注意事项及基准测试
  • clickhouse 中文数据的正则匹配
  • 【盘古100Pro+开发板实验例程】FPGA学习 | 3X3图像矩阵生成 | 图像实验指导手册
  • Exporters | 安装mysqld_exporter
  • SpringCloud相关知识
  • 晨控CK-GW08S与汇川AC系列PLC配置Ethernet/IP通讯连接手册
  • DevOps平台大比拼:Gitee、Jenkins与CircleCI如何选型?
  • 乐思 AI 智能识别平台(基于 YOLO,.NET+Vue3 开发)开源指南
  • 【秋招笔试】2025.08.03-拼多多笔试真题-第二题