4

バックグラウンド

Android 6 では、デバイスのスリープ中のバッテリーの取り扱いを改善するために、「Doze」と呼ばれる組み込みのメカニズムが導入されました。

問題

問題は、それが実際にどのように機能するのか、また、この新しいメカニズムを処理するためにアプリをどのように変更する必要があるのか​​ 、まったくわからないことです。

明らかに、コードに何が含まれているかによって異なりますが、何を探す必要がありますか?

私が見つけたもの

これについて話している 2 つの Web ページを見つけました。

しかし、彼らは主にアラームについて話します。

アラームのスケジュール設定を支援するために、Android 6.0 (API レベル 23) では、setAndAllowWhileIdle() と setExactAndAllowWhileIdle() という 2 つの新しい AlarmManager メソッドが導入されています。これらの方法を使用すると、デバイスが Doze 状態でも作動するアラームを設定できます。

質問

この新しいメカニズムを処理するために、アプリ開発者は何をすべきでしょうか? そのため、スケジューリング API の動作は異なりますか? に必要な変更はどうですか:

  1. アラーム

  2. バックグラウンド/フォアグラウンド サービス

  3. ウェイクロック

  4. JobScheduler と GcmTaskService

この件で Android 6 以降を処理するために必要な調整はありますか?

4

1 に答える 1

0

最も重要な動作変更の 1 つは、Doze によるアイドル モード中のネットワーク接続の欠如です。ただし、ウェイクロックや JobScheduler ジョブなど、動作には多くの変更が加えられています。

開発者向けドキュメントには、Doze 中に何が機能しないかが明確に記載されています: http://developer.android.com/training/monitoring-device-state/doze-standby.html#restrictions

詳細をお探しの場合は、Doze とアイドル モードの動作に関する私の観察の一部について書いたこの Gist をお気軽にチェックして ください。

于 2015-10-16T16:19:52.160 に答える