モバイル

Androidアプリのバッテリー消費を最適化するための方法をデベロッパーが公開

By s3aphotography

バッテリーの減りが異様に速くなるアプリなどがありますが、そういったアプリの開発者が、アプリのバッテリー消費を最適化できるようにと、Androidのアプリのバッテリー消費に関するさまざまな知識を盛り込んだスライド「Battery Optimization for Android Apps」がSlideShareにて公開されています。

Battery Optimization for Android Apps - Devoxx14
http://www.slideshare.net/MuratAydn3/battery-optimization-for-android-apps-devoxx14


このスライドを公開しているのは、Androidアプリの開発者である@maydintrさん。


スマートフォンやタブレットなどを動かすにはバッテリーが必要で、端末は重要なタスクをこなすときほど多くの電力を消費します。なので、いくらアプリの出来が良くても、アプリがバッテリーを消費しまくってしまう場合は、アプリストアなどで悪い評価を受けてしまったりするそうです。


バッテリー問題の解決策としては、「バッテリー容量を大きくする」「外付けバッテリー付きのケースを購入する」「モバイルバッテリーを持ち運ぶ」「ソーラーパネルを持ち運ぶ」などがありますが、これらは根本的な解決策とは言えません。


GoogleのソフトウェアエンジニアであるJeff Sharkey氏のプレゼンテーション資料に載っていたAndroid端末のバッテリー使用量を表したグラフが以下のもの。


例えばバッテリー容量が1150mAhの端末ならば、YouTubeのムービーを視聴することで340mAの電流を必要とするので、3.4時間ムービーを見ればバッテリーは空っぽになってしまいます。3G回線でのウェブブラウジングならば225mAが必要となり、ちょうど5時間でバッテリーはなくなってしまうわけです。なお、飛行機モードならば2mAが必要なので、24日間もバッテリーが持つそうです。


また、6MBのデータを転送する際、EDGE・3G・Wi-Fiのどの通信方式を使ってデータを転送するかによって、放電容量は以下のように異なってきます。3つの中で最もバッテリーに優しいのはWi-Fiのようです。


アメリカのパデュー大学が2012年に行った調査によれば、無料のチェスアプリや「Angry Birds」などをプレイした際の放電容量の25~35%はゲームをプレイするのに必要なものですが、残りの65~75%はユーザー情報をネット上にアップロードして画面上に配信される広告を表示したりするために使用されている、とのこと。


バンドルとアンバンドルでの転送の違いはこんな感じ。アンバンドルでのデータ通信だとアイドル状態になることがありません。その結果、長時間多くの電力を消費しながら通信する必要が出てきてしまう、というわけ。


プリフェッチは、コンピュータが利用しそうなデータを予め、メモリに読み込んでおき、性能の向上を図る動作。これにより、ダウンロードするアイテムの数を減らしたり、アプリのレイテンシーを減らしたりすることができます。


キャッシュはできるだけ大きく、しかし、古いデータは残しておかないように絶妙の加減が必要なようです。


そしてデータをしっかりと圧縮しましょう。


データを圧縮するか、そのまま送信するかでデータ解析にかかる時間は大きく異なってきます。


また、ユーザーのバッテリー状況をつぶさにモニターし、バッテリー容量が大きく変化するポイントを観察することも必要なようです。アプリのアップデートはデバイスのバッテリーを多く消費してしまうものですが、デバイスが充電している時間帯にアップデートが配信されれば、デバイスのバッテリーが無用に減少しまくるということが起きないので、ユーザーは助かるはずです。こういったポイントを抑え、バッテリーが少ない際にバッテリー消費が大きなアップデートが行われることが少なくなるように調整するのも大事なようです。


アプリケーション側からAndroid OSに「今はスリープするなよ」と通知することがあるのですが、これを「Wakelock」と呼びます。


これの代わりに「keepScreenOn」を使うことも、バッテリー消費を抑えるのに役立ちます。


さらに、Androidアプリの電力消費量などを診断してくれる開発者向けツールTrepn Profilerを使う、という手段もあります。


これらを積み重ねることで、@maydintrさんはアプリのバッテリー消費を20%も改善できた、とのことです。

この記事のタイトルとURLをコピーする

・関連記事
同スペックならAndroidよりWindowsPhoneの方がバッテリーが長持ち - GIGAZINE

サムスンがiPhoneの電池持ちの悪さを哀れむようなGalaxy S5のCMを公開 - GIGAZINE

サクッと実行できるスマホのバッテリーを長持ちさせるための8つの方法 - GIGAZINE

Androidのバッテリー消費を減らして稼働時間を長くする「Project Volta」、その効果が明らかに - GIGAZINE

「充電のためにコンセントを探す」行為から開放してくれる技術いろいろ - GIGAZINE

in モバイル,   ソフトウェア, Posted by logu_ii

You can read the machine translated English article here.