<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                **PowerManagerService.java::BootCompletedReceiver** ~~~ private final class BootCompletedReceiver extendsBroadcastReceiver { publicvoid onReceive(Context context, Intent intent) { bootCompleted();//調用PMS的bootCompleted函數 } } ~~~ **PowerManagerService.java::bootCompleted函數** ~~~ void bootCompleted() { synchronized (mLocks) { mBootCompleted = true; //再次碰見userActivity,根據前面的描述,此時將重新計算屏幕超時時間 userActivity(SystemClock.uptimeMillis(), false, BUTTON_EVENT, true); updateWakeLockLocked();//此處先分析這個函數 mLocks.notifyAll(); } } ~~~ 在以上代碼中,再一次遇見了userActivity,暫且對其置之不理。先分析updateWakeLockLocked函數,其代碼如下: ~~~ private void updateWakeLockLocked() { /* mStayOnConditions用于控制當插上USB時,手機是否保持喚醒狀態。 mBatteryService的isPowered用于判斷當前是否處于USB充電狀態。 如果滿足下面的if條件滿,則PMS需要使用wakeLock來確保系統不會掉電 */ if(mStayOnConditions != 0 &&mBatteryService.isPowered(mStayOnConditions)) { mStayOnWhilePluggedInScreenDimLock.acquire(); mStayOnWhilePluggedInPartialLock.acquire(); } else { //如果不滿足if條件,則釋放對應的wakeLock,這樣系統就可以進入休眠狀態 mStayOnWhilePluggedInScreenDimLock.release(); mStayOnWhilePluggedInPartialLock.release(); } } ~~~ mStayOnWhilePluggedInScreenDimLock和mStayOnWhilePluggedInPartialLock都為UnsynchronizedWakeLock類型,它們封裝了WakeLock,可幫助PMS在使用它們時免遭線程同步之苦。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看