この情報は、iPhone女史さんのブログ経由で、gori.meさんのブログで知りました。
iPhone 4Sになる以前からもiPhoneの最大の課題は電池持ちと言われています。(まだ未解決ですね。)
ブログ記事の内容から、TwitterとInstagramをガツガツ使っていると一日が終わる前に電池が切れてしまうこともしばしばあるということを身近な友人からも聴いていました。
色々なところでiPhoneの電池持ちを改善する方法は紹介されている(gori.meでもこんな記事を書いている)が、中でもよく見かけるのはマルチタスクバーに表示されているアプリを定期的に消すことが必要であると多くの方が言っています。(私自身もその一人でした。)
ホームボタンをダブルクリックし、アイコンを長押しして片っ端から消していく作業です。
残念ながら、これをやっても電池持ちを改善するという目的には全く役に立たないそうです。
リンク先のブロガーさんが、その理由と共にiOSのマルチタスクの仕組みについてiPhoneHacksが解説していたものを翻訳した記事をまとめたものを個人的な備忘録として、以下の記事にしますね。
まず、マルチタスクバーは「最近利用したアプリ一覧」であること。
そもそも根本的に誤解されがちなのが、マルチタスクバーは「動作中のアプリ一覧」ではない、ということ。
iOSは、ユーザーが自分自身でバックグラウンドで動作しているアプリの管理をする必要が一切ないように作られている。
ホームボタンを押すと基本的にアプリはCPUの利用を停止するため、マルチタスクバーからアプリを消しても消さなくても電池持ちには関係無い。
マルチタスクバーに表示されているアプリはあくまでも「最近利用したアプリ一覧」である。
次に、ホームボタンを押してから裏では何が起きているのか?
もっと技術的な側面から解説する。iOSのアプリには、5種類の起動状態があるそうです。
「Not running」:アプリがそもそも立ち上がっていない状態。
「Inactive」:アプリが最前面にあるが、利用していない状態(例:アプリを開いたままロック画面にした時。
「Active」:要は起動中。
「Background」:アプリは最前面にないが、まだ動作している状態。
「Suspended」:メモリはまだ確保しているが、動作はしていない状態。
分かりづらいのは「Active」⇒「Background」⇒「Suspended」⇒「Not running」の間で何が裏で起きているか、ということですよね。
順を追って説明してあるので、以下の説明を参照してください。
まず、アプリを起動中にホームボタンを押すと、アプリは「Active」⇒「Background」に起動状態が変更される。
そして、殆どのアプリは数秒以内に「Background」⇒「Suspended」に切り替わるようだ。
ここで多くの人が勘違いしているのが「Suspended」状態のこと。
この時は、既にCPUに負荷がかかっていないので、電池には影響はない。
一般的にはホームボタンを押してから5秒以内に「Background」⇒「Suspended」に切り替わるものの、アプリによってはバックグラウンドで動作することもある。
その場合は、約10分以内で処理が完了しなければiOS側で強制的に「Suspended」になる。
ちなみに、「Suspended」でメモリを確保しているのは、次回起動をスピードアップするため。
万が一メモリが足りなくなった場合、iOSが自動的に「Suspended」状態のアプリを「Not running」に切り替え、メモリを解放してくれるように設計されているそうです。
次に、ただし、例外もある!
iOSアプリは、10分以内に処理が完了しなければ強制的に「Suspended」状態になるようだが、例外が5種類あるそうです。
オーディオ系アプリ:iPod、Pandora等
VoIP系アプリ:Skype、LINE等
位置情報系アプリ:Maps、Runkeeper等
Newsstand:新しいコンテンツをダウンロードしている場合
外部アクセサリー系:外部のアクセサリーに接続している場合。iPad Camera Connection Kit等
これらのアプリは、バックグラウンドで動作しCPUに負荷を掛け続けるため、電池持ちに影響してしまうそうです。
だから、要注意だそうで!!!
つまり、電話(インターネット電話)、音楽、地図、外部アクセサリーの一部には、CPUに負荷がかかっているらしいです。
最後に、iOSのマルチタスクについてのまとめ。
マルチタスクバーにアプリあるアプリを消しても電池持ちには影響しない。
ホームボタンを押すとアプリは「Active」⇒「Background」に切り替わり、殆どのアプリは5秒以内に「Background」⇒「Suspended」に切り替わる。
アプリによってはすぐに「Suspended」に切り替わらずバックグラウンドで動作することもあるが、10分以内には強制的「Suspended」になる。
メモリが足りなくなった場合、iOSが自動的に「Suspended」状態のアプリを「Not running」に切り替え、メモリを解放してくれる。
一部アプリはバックグラウンド動作が許されているものもある。
以上!
ブロガーさんの見解同様に、個人的には、電池持ちが気になるのであればモバイルバッテリーを持ち運ぶことを強くお薦めしたいです。
私も、必ずカバンの中にはmophinのバッテリーを常備しています。
またね。

