PowerManager深度分析



Powermanager Depth Analysis



概要

ずっと、電源管理の電子製品の設計は非常に重要な部分ですまたシステムモジュール内の電子デバイスの中で最も重要なものの1つ、電子製品の競争力をより高めるために、長持ちするバッテリー寿命、優れたユーザーエクスペリエンスを提供できる優れた電源管理ソリューション。



主にCPUとディスプレイの2つのコンポーネントで構成されるモバイルデバイスの充電、消費電力は電力管理の2つの重要な要素が削減されるように管理されます。ほとんどのモバイルデバイスと同様に、電力を節約するために2つのCPUの動作周波数があります。ほとんどの場合、CPUは低い周波数で動作し、ビデオデコーダーなどの集中的な計算のみが高状態に切り替えられます。ディスプレイ画面の省電力方法は明るい時間を最小限に抑えることですが、ディスプレイと切り替えのアプリケーションは良好な関係であるため、主要な動作電源管理システムであるディスプレイのスイッチと明るさを制御するメカニズムが必要です。



Androidの電源管理で提案されているwakelockは、スマートポインター(スマートポインター)を使用するC ++の新しいメカニズムのセットであり、アイデアを借りてスマートポインターの使用と電力の分配を設計します。スマートポインタが参照され、参照されたアプリケーションの参照数は自動的に1ずつ増加し、オブジェクト数は1ずつ間接参照されます。参照するスマートポインタを使用すると、参照数が0の場合、オブジェクトが復元されます。同様に、wake_lock countの使用も維持しますが、そのような「スマートポインター」のリソースの使用は、もはやメモリーではなく、パワーです。特定のWakeLockを介してハードウェアにアクセスするアプリケーションの場合、ハードウェアは0としてカウントされ、このハードウェアリファレンスに従って電源をオフにする必要がないと判断します。

フレームワークレイヤーの電源管理は、変更および更新されたさまざまな条件下で電源状態を制御するポリシーコントローラーのようなものです。重要なサービスとしてのPowerManagerが起動し、システムの起動を登録するときに、上位のアプリケーションがサービスを使用して呼び出す必要がある場合一部の電源制御システムの状態を変更するには、PowerManagerがインターフェイスを開き、エンドサービスのPowerManagerServcie処理ロジックを使用して、ディスプレイ、ウィンドウ、ライト、およびバッテリー、その複雑な相互作用、本物の非一言で言えば密接な接触。

元の: https://blog.csdn.net/u011311586/article/details/51034313