2つの注意点Android9(Pie)の電源周りについて秋山先生(株)ライトコードの秋山(あきやま)です!Android開発していると、いろいろなバージョンのものを触る機会があると思います。その中で2018年8月にリリースされたバージョンの、Android9(Pie)の電源周りについて色々と学ぶことがあったので、こちらで紹介しようと思います。バケット)」という電源管理の機能が導入されています。これは、各アプリの使用頻度によって、システム側が5つの優先度に振り分けます。優先度の高い順に並べるとこんな感じです。setFrequentRareNever優先度が低いほどアプリの使用制限がかかります。これにより『使わないアプリが裏で動いて電源を消費する』といったことを減らし、全体としてバッテリーを長持ちさせることができます。Active「Active」は、主に現在使用中のアプリに適用されます。こちらは制限がかかりません。set」は、しばしば実行されてはいるが現在アクティブではない場合になります。こちらには、制限が少しかかります。アラームが最大6分ほど遅れたりします。Frequent「Frequent」は、毎日ではないが定期的に使用されるアプリに適用されます。set」よりも強めの制限がかかります。アラームが最大30分ほど遅れたりします。Rare「Rare」は、あまり使用されないアプリに適用されます。こちらは、「Frequent」よりもさらに強めの制限がかかります。アラームが最大2時間ほど遅れたりします。Never「Never」は、インストールしたものの一度も使用してないアプリに適用されます。こちらは、一番強い制限がかかります。制限について制限についての詳細は、以下のサイトにあります。https://developer.android.com/topic/performance/power/power-details.html?hl=jaでは、『どれくらいの頻度でアプリの優先度が変わるのか?』というと、特に詳しいことも書いてないです(笑)実際に端末を触ってみましたが、モノによって差があるようなので『これだけアプリを放置にしてたら優先度が変わる』と言い切ることはできなさそうです。上記は省電力にするために、OS側が自動で判別してアプリの制御等をしていきましたが、ユーザが手動で各アプリに対して制限をかけることも出来ます。バッテリー」→「バックグラウンドでの使用の制限」とタップして進めていくと、手動でアプリのバックグラウンドでの制限がかけられます。こちらも制限がかかることによって「省電力化」することは出来ます。アラームなど一部機能の制限がかかります。アラームの扱いについて電源管理についてお話をしましたが、それに対して影響が大きそうなのが「アラーム」です。バックグラウンドにあるアプリにアラーム機能があり、「時間になればアプリ側からお知らせアラームが鳴る」というものは結構あるかと思います。いった類のものが電源管理の制限により遅延が発生し、結果、時間通りに鳴らなくなるということが起きます。お知らせしてくれないのは困る時間通りにお知らせしてくれるものが、してくれないのは困りますよね?AlarmManagerクラスの「setRepeating」や「setExactAndAllowWhileIdle」あたりでも制限がかかると遅延がありそうです。ここは、まだ検証中ではあります...(遅れたり遅れなかったりしたので...勉強不足ですいません)setAlarmClock個人的に、アラームとして良さそうなのは、Android5.0(APIレベル21)から使えるようになった「setAlarmClock」というものです。こちらを使えば時間がズレることなく通知されます。2つの注意点ただし、2つ注意点もあります。1.画面上部のステータスバーに『アラームアイコン』が出る画面上部のステータスバーに『アラームアイコン』が出るようになります。(目覚ましアプリ設定でも表示されるもの)アラームアイコンを出す出さないはアプリによっては悩みどころですね。通知が正確になるということは、「電源周りの制限をかけないようにする」ということでもありますので、使いすぎると電池の消費は激しくなる可能性があります。処理をたくさん使うような高機能なアプリも増えてきているので、電池を持たせるのも大事になってきます。社長と一杯飲みながらお話してみたい方はこちらミツオカフリーランスエンジニア様の募集はこちらにゃんこ師匠その他、お問い合わせはこちらミツオカお気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!一緒に働いてくれる仲間を募集しております!ライトコードでは、仲間を募集しております!当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。(社員)元ファストフード店長代理のJava系ITエンジニア。現在はAndroidアプリ開発を主に担当したり。休みの日はゲームとか風景写真撮りに行ったりとかマラソンしたりとか。rightcodeエンジニア大募集中!私たちライトコードでは、エンジニアを募集しております。私服大歓迎のカジュアルな職場なので、お気軽にご応募ください!また、フリーエンジニアの方も募集しております。