先看kmsg是否有abort的中断源,处理中断源Abort: Pending Wakeup Sources 什么原因造成的 1)LOG如下: 从log中看 [ 139.658736] dpm_run_callback(): platform_pm_suspend+0x0/0x58 returns -16 [ 139.658744] PM: Device alarmtimer failed to suspend: error -16,是由于alarmtimer 影响进入睡眠,连网同步下时间功耗就正常 2)时间同步后,自动息屏,非按power键息屏。 LOG如下: [11:29:18.837]收←◆[ 429.656231] Restarting tasks ... done. [ 429.676628] Abort: Pending Wakeup Sources: event1 [ 429.681631] PM: suspend exit log中显示中断源event1会影响进入睡眠,该问题是硬件问题,硬件已知晓该按键会影响自动息屏问题,也会影响进入休眠造成功耗高
看是否有应用持wakelock锁,待机后通过串口应用发送dumpsys power,对比息屏前后log,发现com.android.rkpdapp会阻止睡眠,通过pm disable com.android.rkpdapp ,功耗正常,对应修改系统app的移除配置 LOG如下: Looper state: Looper (PowerManagerService, tid 48) {4a306c2} Message 0: { when=+1s611ms what=4 target=android.os.Handler } (Total messages: 1, polling=true, quitting=false) Wake Locks: size=4 PARTIAL_WAKE_LOCK '*job*/com.android.rkpdapp/androidx.work.impl.background.systemjob.SystemJobService#11261' ACQ=-58s389ms (uid=1000 pid=1205 ws=WorkSource{10077 com.android.rkpdapp}) PARTIAL_WAKE_LOCK '*job*/com.android.rkpdapp/androidx.work.impl.background.systemjob.SystemJobService#11267' ACQ=-58s370ms (uid=1000 pid=1205 ws=WorkSource{10077 com.android.rkpdapp}) PARTIAL_WAKE_LOCK '*job*/com.android.rkpdapp/androidx.work.impl.background.systemjob.SystemJobService#11265' ACQ=-58s358ms (uid=1000 pid=1205 ws=WorkSource{10077 com.android.rkpdapp}) PARTIAL_WAKE_LOCK '*job*/com.android.rkpdapp/androidx.work.impl.background.systemjob.SystemJobService#11260' ACQ=-24s551ms (uid=1000 pid=1205 ws=WorkSource{10077 com.android.rkpdapp}) Suspend Blockers: size=5 PowerManagerService.Booting: ref count=0 [] PowerManagerService.WakeLocks: ref count=1 [unknown: (09-25 11:11:03.392)] PowerManagerService.Display: ref count=0 [] PowerManagerService.Broadcasts: ref count=0 [] PowerManagerService.WirelessChargerDetector: ref count=0 [] |
高通安卓平台功耗软件分析步骤
于 2024-03-14 11:32:19 首次发布
文章讨论了设备在遇到alarmtimer问题时无法进入睡眠状态,导致时间同步后自动息屏受阻。硬件层面识别到power键影响自动息屏和能耗问题,尽管5分钟后能降至低功耗,但揭示了该问题的根源和影响。
1490

被折叠的 条评论
为什么被折叠?



