web-dev-qa-db-ja.com

Androidデバイスがスリープモードになるのはいつですか?

私はSOおよびWebを検索していましたが、特定の質問に対する十分な回答が見つかりませんでした。Okここに行きます:

Androidでは、すべてのユーザーが画面タイムアウトを変更できます。 (アイドル状態のときに__秒/分-画面がオフになるとき-ユーザーの選択)。ただし、ユーザーが変更できるのは画面のタイムアウトのみで、デバイスが実際にスリープ状態になるときは変更できません。私はここで、デバイスがスリープ状態になるとどうなるかを見つけました:(CommonsWareによる本当にいい答え) Androidスリープ/スタンバイモード

わかりました、私の質問は簡単です。スマートフォンがスリープ状態になる時期を知るにはどうすればよいですか?画面をオフにした直後にスリープ状態になりますか?画面をオフにした後、しばらくの間「覚醒」状態のままになりますか?そして最も重要なこと:特定のデバイスのスリープモードはブランドデバイス(製造元による実装方法)によって異なりますか、またはROMバージョン(たとえば、すべてICS受電デバイスは、画面をオフにしてからX秒後にスリープ状態になります)?

20
rootpanthera

デバイスがスリープ状態になっているかどうかを実際に確認することはできません。せいぜい、デバイスがスリープ状態になっていないことを確認できるもののリストを提供できます。

  • 画面がオンになっている-アクティブな状態を維持するには、CPUとGPU、したがってRAMが必要
  • ウェイクロックを保持するすべてのアプリ-画面がオフになっている場合でも、最低のウェイクロックでもCPUはオンのままです

これとは別に、ウェイクロックが保持されていなくても、画面がオフになってからn秒後にデバイスがスリープ状態になる保証はありません。これはOEM次第であり、彼らはこれを変更することができます。

Androidデバイスには、画面がスリープ状態になった後、一定時間デバイスのロックを解除するオプションがあります。

26
Raghav Sood

電話とラップトップを比較すると、消費電力にはわずかな違いがあります。ほとんどの場合、ノートパソコンは充電器を介して直接電源で動作します。 (ほとんどの場合、ノートパソコンで充電を行います)。携帯電話は主にバッテリー電源で動作します。 (まれに私たちは充電器を携帯しています)。

これを念頭に置いて、Androidは、ユーザーが電話と対話していない場合、電話がバッテリー電力を消費しないように設計されています。これは、ユーザーのバッテリーバックアップ時間を増やすことです。

LCD=画面の電源がオフの場合(つまり、ユーザーが電話と対話していないことを意味します)、CPUが最小の作業を行うモード(スリープモード)に移行するのはそのためですバッテリーの電力を節約します。CPUがスリープモードの場合、基本的にSMSおよび呼び出し関数、アラーム)であるRIL(無線インターフェイスレイヤー)からのコマンドのみを受け入れます。このCPU以外は、他のCPUの実行を停止しますアプリケーション機能。

注:CPUがスリープモードのときに、緊急作業のためにアプリケーションがCPU時間を必要とする場合、WAKE LOCKSを使用してCPU時間を要求できます。

例:ユーザーがLCD画面をオフにしても、MP3アプリケーションはサービスで曲を再生し続ける必要があります。これは、MP3アプリケーションのサービスがウェイクロックを使用してCPU時間を要求したことを意味します。

あなたの質問:電話がスリープ状態になるタイミングを知るにはどうすればよいですか? -Ans:LCD電源がオフの場合、ほんの数秒でスリープモードになります。

あなたの質問:特定のデバイスのスリープモードはブランドデバイスによって異なります-Ans:Androidはオープンソースであるため、すべてのOEMがドライバーを取得できますレイヤー、これはGPUライセンスであり、パワーマネージャードライブを変更して異なる動作をさせることができますこれらのすべてのスリープモードとウェイクロックは、最終的にLinuxカーネルレイヤーのパワーマネージャードライバーの制御下にあります。

9
user1923551

Android 6.0でスリープモード/居眠りをテストするには、次のコマンドを使用する必要があります。

$ adb Shell dumpsys battery unplug
$ adb Shell dumpsys deviceidle step

詳細はこちらをご覧ください: Dozeとアプリスタンバイ用に最適化

5
ant