2

Androidデバイスがローミングサービスを介してFTPサーバーとデータを交換するシナリオがあります。OSは実際にはエンドユーザーとのやり取りがないため、データ転送中にWakeLockタイプを設定して、OSを適切なスリープモードに移行させたいと考えています。

私はスリープスレッドを調べて、データ送信を防ぐためにどのユニットがスリープモードでシャットダウンされるかを確認しようとしています。これまでのところ、公式のドキュメントはそれらを示していません。

だから、質問について私に教えてくれませんか:Androidがスリープモードに入ると、WIFI、データローミングなどのどのコンポーネントが動作を停止しますか?

どうもありがとう。

4

2 に答える 2

2

Androidがスリープモードに入ると、ほとんどすべてがシャットオフされます。テキスト、通話、プッシュ通知などを受信するために、基本的なシステムアプリとGSM / CDMA無線のみがオンのままになります。サービス、アクティビティはすべてオフになり、CPUは低電力モードになります。ユーザーがwifi設定で選択した内容に応じて、wifi接続がモバイルデータに切り替わるか、完全に遮断される場合があります。

処理を続行したいが、ユーザーと対話するために画面をオンにする必要がない場合は、画面とキーボードがオフで、CPUがオンのままであるPARTIAL_WAKE_LOCKを取得する必要があります。ただし、完了したらウェイクロックを解除することを忘れないでくださいPARTIAL_WAKE_LOCK。4つのウェイクロックのうち、CPUを解放するか、アプリが強制終了されるまでCPUが実行され続けるのはこの1つだけです。ウェイクロックを解除するのを忘れると、ユーザーのバッテリーが大幅に消耗する可能性があります。

于 2013-02-27T03:18:41.637 に答える
0

ユーザーが電源オフボタン(消灯)を押すと、電話がスリープモードになります。

スリープモードとは、CPUがスリープモードになり、無線インターフェイス層からのコマンドとアラームのみを受け入れることを意味します。ほんの数秒以内に、CPUはスリープモードになります。

CPUをオンにしたりオフにしたりするだけでよい場合は、シナリオに最適なPARTIAL_WAKE_LOCKを使用します。天気このロックは、一般的にmp3プレーヤーなどのアプリで使用されます。

このモードでデータ転送が必要な場合は、このモードで一部の関数をオンにできるようにすることで、PowerManagerクラスから既に指定されているメソッドをオーバーライドする必要があります。

于 2014-06-30T05:26:09.217 に答える