iOS4のマルチタスクについて知っておくべきこと
さて、iOS4の正式発表も明日に迫っている、ということで、少し早めに使わせてもらっている身として気づいたことをいくつか書いておく。
恐らくだが、今回のOSアップデートの目玉はなんと言ってもマルチタスク。ただし、このマルチタスク、みんなが思っているマルチタスクとはワケが違う。全てのアプリをバックグラウンドで動作させることが出来るわけではない。
まず、今回のマルチタスク機能で対応しているのは下記の通り。
First iOS 4 Multitasking Aware Apps Appearing in App Store
– Background audio – Allows your app to play audio continuously.
– Voice over IP – Users can now receive VoIP calls and have conversations while using another app.
– Background location – Navigation apps can now continue to guide users who are using other apps
– Push notifications – Receive alerts from your remote servers even when your app isn’t running.
– Local notifications – Your app can now alert users of scheduled events and alarms in the background, no servers required.
– Task finishing – If your app is in mid-task when your customer leaves it, the app can now keep running to finish the task.
– Fast app switching – This will allow users to leave your app and come right back to where they were when they left – no more having to reload the app.
簡単に言うと、我々が認識している「アプリを同時に起動する」というマルチタスクに対応するアプリは下記のものに限られている。
- VoIPを利用してるアプリ
- 位置情報を利用するアプリ
- プッシュ通知を使うアプリ
- iPhone内(サーバーを介さない)で処理を行うアプリ
また、アプリが対応することによって、
- タスクの通信処理等をバックグラウンドで完了出来る
- 再読み込み等をすることなく、アプリ間の切り替えが出来る
ということだと僕は認識している。
これはどういう事かというと、例えばRSSリーダーを一旦起動してfeedを読み込んでいる間にtwitterクライアントで未読のtweetをみる、という使い方は出来ないのである。恐らくYouTubeを読み込んでおいて、その間Safariでブラウジングする、という使い方も出来ないと思われる。
ちょっと残念だ。だが、そのお陰あって、iPhoneはスマートフォンの中でも比較的長い電池持ちを実現しているのである。余談だが、Androidに関しては創始者がこんなコメントを言っているぐらいだから、よほど電池持ちが悪いのだろう。その主の原因であろう、マルチタスクは、複数のアプリを起動している分、バッテリーは消費することになる。iPhoneが今回のような「マルチタスク」ではなく、「擬似マルチタスク」を実現したのは、非常に理にかなった策だと個人的には思う。
さて、そんな話はさておき、実はこのマルチタスク、一つ注目すべき点がある。
これは、結構お大きなポイントである。なぜかと言うと、それはi.softbankのメールがプッシュされるということだからだ。
確かに今までもプッシュされていた。だが、僕らが今まで使ってきたガラケーとは程遠い使い勝手であることはきっと誰もが認めるだろう。なんせ、メールを開かないと本文の受信もなければバイブも鳴らない。一体どうやってメールに気付けというんだ!
だが、今回のアップデートによってそれは解消される。実際に自分の端末で試したところ、メールを受信するとBadgeの数が増え、裏で本文をロードする分だけ少し遅れてしまうものの、バイブもしっかり振動する。
僕は普段必要最低限しかi.sbを使わないのだが、i.sbでやり取りが多いであろう人には意外なところでこのアップデートが有効に使えるのではないだろうか。
iOS4は明日に配布開始される。3GSユーザーはすぐにでもアップデートすることをおすすめする。
>本来はRSSをバックグラウンドで読み込めるんですね
そうなりますね。
ただしバックグラウンド機能はアプリ側の対応が必要です。アプリ側がTask Compressionなどを実装する必要があるので、そのアプリは必然的にiOS4専用アプリになると思われます。
iOS3にも4にも対応しているアプリがあるとすれば、それは「動作確認がとれたアプリ」という意味であって、iOS4の機能を取り込んだアップデートではないはずです。その場合は、恐らく「Fast app switching」だけが機能しているということになるのでしょうね。
siroさん>
ご指摘いただきありがとうございます!そうなんですね、じゃあ僕がうまく読み込めなかっただけで、本来はRSSをバックグラウンドで読み込めるんですね、あら便利。またトライしてみます!
また何かございましたら教えてください(^O^)/
正確には
・音楽(ラジオ含む)を利用しているアプリ
・VoIPを利用してるアプリ
・位置情報を利用するアプリ
・プッシュ通知(サーバー経由)
・ローカル通知
・現在のタスクをバックグラウンドで(終了するまで)継続できる
・再読み込み等をすることなく、アプリ間の切り替えが出来る
だと思います。
> 例えばRSSリーダーを一旦起動してfeedを読み込んでいる間にtwitterクライアントで未読のtweetをみる、という使い方は出来ないのである。恐らくYouTubeを読み込んでおいて、その間Safariでブラウジングする、という使い方も出来ないと思われる。
それを担当するのがTask Compression(終了延長申請)なので、出来ると思いますよ。YouTubeアプリやSafariなど標準アプリの動作に関しては謎ですが、少なくともサードパーティアプリはTask Compressionを利用することで可能になっています。