Misconceptions About iOS Multitasking」がiOSのマルチタスクについてわかりやすい説明をしている。
Speirs氏のポイントは、「iOSのマルチタスクバーに表示されているのは最近利用されたアプリの一覧であり、現在稼働中のアプリ一覧ではない(稼働しているものもあるが稼働していないものもある)」という点。「パフォーマンスの向上、バッテリーの消耗を防ぐためにマルチタスクバー上のアプリを全て停止したほうがいい」というアドバイスをよく聞く(Appleのジーニアスバーでも聞いたことがある)が、そのアドバイスは間違っていると同氏は言う。

Appleサポートの「マルチタスク機能を理解する」にも以下の記述がある。

ホームボタンをダブルクリックすると、最近使用した App のリストが表示されます。これらの App は、使っていなかったり開いていなかったりするものもあります。ほとんどのアプリケーションは、バックグラウンドで実行しているときにシステムリソースを消費することはなく、App に戻るときにすばやく起動します。タスクやサービスの中には、バックグラウンドで動作し続けるものがあり、それらのほとんどはステータスバーで確認できます。

以下はアプリのステータスに関するSpeirs氏の説明。

ホームボタンが押されると、iOSはアプリに停止するように伝える。大抵のアプリは起動を停止し、CPUとバッテリーの利用を止める。アプリが利用していたメモリーは(他のアプリ等から)必要が生じた際に開放される。
iOSのアプリには以下の5つのステータスがある:

  • Not running – 起動されていない。
  • Inactive – バックグラウンドにいるがイベントを受け取らない(例えば、アプリを起動したままユーザーがデバイスをロックしたような場合)。
  • Active – 正常に稼働。
  • Background – 画面には表示されていないが処理を実行中。
  • Suspended – メモリー上にあるが処理を実行していない。

ホームボタンが押されると、アプリは「Active」から「Background」になり、大抵のアプリはその後、数秒で「Suspended」となる。
「Suspended」のアプリは、再度起動された際にすぐに稼働できるようにメモリー上に存在しているが、CPUやバッテリーは使用していない。「Suspended」のアプリが使用しているメモリーは必要に応じて開放される。メモリー開放もiOSが管理しており、ユーザーは気にする必要はない。

繰り返しになるが、マルチタスクバー上に表示されているアプリは最近利用されたアプリで、これらのアプリの稼働ステータスを示しているわけではない。稼働中のアプリがマルチタスクバー上に表示されない場合もあるとSpeirs氏は言う。

ご存知のように、アプリの中には「Background」状態なっても「Suspended」せずにバックグラウンドで稼働し続けるものもある。バックグラウンドで稼働するアプリには、処理延長と稼働継続の2つのタイプがある。処理延長は、写真のアップロードやコンテンツのダウンロードをするアプリ等で利用されるバックグラウンド処理で、ホームボタンが押された後も一定時間処理が継続される。処理の継続時間は10分ぐらいで、時間が経過するとiOSによって「Suspended」される。稼働継続は、時間無制限で処理を継続するアプリで、以下のタイプがある:

  • 音楽プレーヤーやポッドキャストのようなオーディオ再生アプリ
  • 位置情報の追跡を行うアプリ
  • SkypeのようなVOIPアプリ
  • コンテンツをダウンロードするニューススタンドアプリ
  • 外部アクセサリーから継続的に更新情報を受け取るアプリ
これらのアプリは、ホームボタンが押された後も処理が継続され、CPUやバッテリーを消費し続ける。パフォーマンスの向上やバッテリーの消費を抑えるために、必要がなくなったらユーザーが手動で停止する必要がある。標準のメールや電話のようなアプリはユーザーが手動で停止するとマルチタスクバー上から削除されるのだが、アプリは自動的に再起動され稼働を継続し続ける。
Appleサポートの「マルチタスク機能を理解する」では、「マルチタスクバー」ではなく「最近使用したApp」と表現しているが、iOSを再起動してもリストはクリアされることはなく、バー上のアプリは増え続ける。ホームボタンをダブルタップすることで「最近使用したApp」が表示され、アプリ間の行き来が楽になるはずなのだが、利用するアプリが増えるとバーは長くなり、過去に起動したアプリは(たとえ頻繁に使用していても)どんどん右端に押し込まれていき何度もスクロールしないと表示されない。そうなると、「最近使用したApp」バーよりもホームスクリーンのほうが手早くアプリを起動できる。リストを一括クリアする方法はなく、アプリを1つずつリストから削除しなければならない。
利用するアプリの数が増えたら、「最近使用したApp」リストを定期的にメンテナンスしないといけない。

 

One Response to iOSのマルチタスクに関する誤解

  1. 匿名 より:

    ios7にアップデートしたら「最近使用したApp」の削除(整理)が出来ないのだが?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>