Speirs氏のポイントは、「iOSのマルチタスクバーに表示されているのは最近利用されたアプリの一覧であり、現在稼働中のアプリ一覧ではない(稼働しているものもあるが稼働していないものもある)」という点。「パフォーマンスの向上、バッテリーの消耗を防ぐためにマルチタスクバー上のアプリを全て停止したほうがいい」というアドバイスをよく聞く(Appleのジーニアスバーでも聞いたことがある)が、そのアドバイスは間違っていると同氏は言う。
Appleサポートの「マルチタスク機能を理解する」にも以下の記述がある。
ホームボタンをダブルクリックすると、最近使用した App のリストが表示されます。これらの App は、使っていなかったり開いていなかったりするものもあります。ほとんどのアプリケーションは、バックグラウンドで実行しているときにシステムリソースを消費することはなく、App に戻るときにすばやく起動します。タスクやサービスの中には、バックグラウンドで動作し続けるものがあり、それらのほとんどはステータスバーで確認できます。以下はアプリのステータスに関するSpeirs氏の説明。
ホームボタンが押されると、iOSはアプリに停止するように伝える。大抵のアプリは起動を停止し、CPUとバッテリーの利用を止める。アプリが利用していたメモリーは(他のアプリ等から)必要が生じた際に開放される。繰り返しになるが、マルチタスクバー上に表示されているアプリは最近利用されたアプリで、これらのアプリの稼働ステータスを示しているわけではない。稼働中のアプリがマルチタスクバー上に表示されない場合もあるとSpeirs氏は言う。
iOSのアプリには以下の5つのステータスがある:
ホームボタンが押されると、アプリは「Active」から「Background」になり、大抵のアプリはその後、数秒で「Suspended」となる。
- Not running - 起動されていない。
- Inactive - バックグラウンドにいるがイベントを受け取らない(例えば、アプリを起動したままユーザーがデバイスをロックしたような場合)。
- Active - 正常に稼働。
- Background - 画面には表示されていないが処理を実行中。
- Suspended - メモリー上にあるが処理を実行していない。
「Suspended」のアプリは、再度起動された際にすぐに稼働できるようにメモリー上に存在しているが、CPUやバッテリーは使用していない。「Suspended」のアプリが使用しているメモリーは必要に応じて開放される。メモリー開放もiOSが管理しており、ユーザーは気にする必要はない。
ご存知のように、アプリの中には「Background」状態なっても「Suspended」せずにバックグラウンドで稼働し続けるものもある。バックグラウンドで稼働するアプリには、処理延長と稼働継続の2つのタイプがある。処理延長は、写真のアップロードやコンテンツのダウンロードをするアプリ等で利用されるバックグラウンド処理で、ホームボタンが押された後も一定時間処理が継続される。処理の継続時間は10分ぐらいで、時間が経過するとiOSによって「Suspended」される。稼働継続は、時間無制限で処理を継続するアプリで、以下のタイプがある:
- 音楽プレーヤーやポッドキャストのようなオーディオ再生アプリ
- 位置情報の追跡を行うアプリ
- SkypeのようなVOIPアプリ
- コンテンツをダウンロードするニューススタンドアプリ
- 外部アクセサリーから継続的に更新情報を受け取るアプリ
これらのアプリは、ホームボタンが押された後も処理が継続され、CPUやバッテリーを消費し続ける。パフォーマンスの向上やバッテリーの消費を抑えるために、必要がなくなったらユーザーが手動で停止する必要がある。標準のメールや電話のようなアプリはユーザーが手動で停止するとマルチタスクバー上から削除されるのだが、アプリは自動的に再起動され稼働を継続し続ける。
Appleサポートの「マルチタスク機能を理解する」では、「マルチタスクバー」ではなく「最近使用したApp」と表現しているが、iOSを再起動してもリストはクリアされることはなく、バー上のアプリは増え続ける。ホームボタンをダブルタップすることで「最近使用したApp」が表示され、アプリ間の行き来が楽になるはずなのだが、利用するアプリが増えるとバーは長くなり、過去に起動したアプリは(たとえ頻繁に使用していても)どんどん右端に押し込まれていき何度もスクロールしないと表示されない。そうなると、「最近使用したApp」バーよりもホームスクリーンのほうが手早くアプリを起動できる。リストを一括クリアする方法はなく、アプリを1つずつリストから削除しなければならない。
利用するアプリの数が増えたら、「最近使用したApp」リストを定期的にメンテナンスしないといけない。



0 コメント:
コメントを投稿