Android源码笔记--电量

Posted ljt2724960661

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android源码笔记--电量相关的知识,希望对你有一定的参考价值。

            这一节主要了解电源更新,源码中一般是通过xxxLocked来实现。函数updatePowerStateLocked 的功能是更新电源状态的锁定,通过把影响到 PowerManagement 发生变化的放在一起进行更新,函数updatePowerStateLocked的具体实现代码如下所示:

/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
   
   private void updatePowerStateLocked() 
        if (!mSystemReady || mDirty == 0) 
            return;
        
        if (!Thread.holdsLock(mLock)) 
            Slog.wtf(TAG, "Power manager lock was not held when calling updatePowerStateLocked");
        

        Trace.traceBegin(Trace.TRACE_TAG_POWER, "updatePowerState");
        try 
            // Phase 0: Basic state updates.
            updateIsPoweredLocked(mDirty);
            updateStayOnLocked(mDirty);
            updateScreenBrightnessBoostLocked(mDirty);

            // Phase 1: Update wakefulness.
            // Loop because the wake lock and user activity computations are influ

以上是关于Android源码笔记--电量的主要内容,如果未能解决你的问题,请参考以下文章

Android源码笔记--电量

Android源码笔记--电量

Android源码笔记--电量

ChatGPT解答:安卓APP耗电量测试方案和源码,用Android代码实现

原创Android 耗电信息统计服务——BatteryStats源码分析

8.4 Android灯光系统_源码分析_电池灯