🔋

バッテリー消費についてEnergy Impactから分かること

2024/05/29に公開

バッテリー消費について考えるきっかけになったこと

SwiftUIを用いたiOSアプリを作成しているのですが、実機デバッグを行った際にアプリのバッテリー消費量が異常に高いことが気になっていました。また、タスキルをせずにバックグラウンドで動かしている際も異常に発熱しているという経験がありました。
そこで、iOSDCのバッテリー消費に関する動画を拝見して得た知識や僕なりの理解を備忘録風にまとめていこうと思います。
iOSDC: iOSアプリのバッテリー消費を意識する
登壇内容の要点を僕なりにまとめていこうと思います。

UX観点でみた際のバッテリー消費という項目がユーザーに与える影響は大きい

これに関しては皆さん普段の生活でも意識していたり、無意識に考えていたりするでしょう。
例えば僕の場合、外出中に原神をプレイすることはほぼありません。なぜなら充電がすぐになくなってしまうからです。また、少し触っていただけで本体が暑くなってしまうようなアプリは無意識にユーザーが避けてしまいがちです。ここからも、バッテリー消費について気を配ることに重要性を感じられます。

Energy Impactを用いることで負荷等が視覚的に判断できる


この選択部分を実機でデバッグしてる最中に選択すると実際にアプリにかかっている負荷を視覚的に把握することができます。

僕の作成中のプロダクトにおいてはバックエンドとのやり取りをほとんどしていないにも関わらず、Highだったので改善の余地ありでした。
大前提としてこの部分に関しては、相対的な負荷の評価であるため一概にHighであれば、よくないというわけではないのですがここに関してはフロント部分のみの実装で発熱量が多すぎると感じた僕の感性を頼ることにしました。

バッテリー消費について意識する時に注目する点

そこで戻りますが、実際に負荷を低くするためにはどのようなことを意識すればいいのでしょうか?

ここにはいくつかの例がありますがその中でも代表的なものを挙げていました。

  • 描画頻度が高い
  • バックエンドとの交信数が多い
  • アニメーションが凝っている
  • フレームレートが高い
    といったものでした。

私のプロダクトでは、一つ目の描画頻度が高い点で負荷がかかっている印象でした。
そのため、シンプルなデザインに変更したりコードをより単純なものにしたりといった解決方法を取りました。

普段からの意識を片隅にでも置いておくことの重要性

この登壇から、Yusuke Araiさんもおっしゃっていたように普段の開発においてバッテリー消費について、頭の片隅にでも置いておくことを意識する必要があると感じました。そうすることでMVPからプロダクトの機能や要件を追加する開発が当たり前になるとUXを考えて開発ができるエンジニアになれるのではないでしょうか。
また自分の中で最適な実装をしていけるように意識していきたいです。

Discussion