iPhone OS 4 発表
ワタシが腹を壊してぶっ倒れている間にも
世の動きは留まる事なく、iPad発売後のフィーバーと iPhone OS 4発表で盛り上がっていたんだな。
iPadの方はAppleが新製品を発売した後のいつもの祭りとして、ワタシ個人的には iPhone OS 4 の方が興味深いわけで。
iPhone OS 4 の目玉は、何と言っても「マルチタスク対応」なんだけど・・・ん?これ、何か変・・・速報サイトで配信されたジョブズのプレゼンの様子や、実際にマルチタスク機能を使っている様子を見てみたし、サイトによっては「完全なマルチタスク」と謳っている所もあったけど、これマルチタスクじゃないよ。
確かに、今までみたいにアプリがいちいち終了してしまうって事は無くなってたね。でもバックグラウンドにまわったアプリは動きが止まってしまうんですね。サスペンド状態になって、場合によってはスワップアウトされるんじゃないかな。だって「ゲーム中に電話がかかってきたらゲームアプリをバックグラウンドにまわして通話。通話が終わったら再びゲームアプリに戻すと中断したところから再開できる」って、明らかにマルチタスクじゃないよね。完全なマルチタスクなら、通話中も背後でゲームは動き続けて、何も操作されていないゲームは(全機撃墜されて?)ゲームオーバーになってましたって事にならなきゃオカシイわけで。
加えてマルチタスク化できる機能にも種類があるんだね。
- 音楽再生(オーディオ)
- VoIP
- ロケーション(GPS)
- プッシュ通知
- ローカル通知
- タスク完了待ち
- 高速アプリ切り替え
だそうな。これらマルチタスク機能を使うための APIが新規追加されたらしい。おそらく iPhone OS 4 でマルチタスク機能に対応するためには、新しく追加された APIを利用するようにアプリを改良しなければならないはずだ。さもないと、バックグラウンドにまわされたアプリはサスペンドされっぱなしで CPUが割り当てられることは無いだろう。
一方、アプリが iPhone OS 4 のマルチタスク機能に対応するためには、上の APIに捕捉したいイベントと、そのイベント発生時にコールバックして欲しい処理手続きを登録しておく等が必要になるのではないかな?(このへんは完全にワタシの想像だけど。)バックグラウンドにまわされると基本的にはサスペンド状態だけど、イベント発生時には登録しておいた処理手続きをOSが呼び出してくれると言った仕組みで、コールバック手続きは可能な限り最小限の処理でイベントを処理、あるいは表アプリに切り替えるようなダイアログを出す事が求められると言ったところか。
これなら(疑似)マルチタスクを実現しながらも CPU使用率を以前と同程度に抑えることができそう。すなはちバッテリーの持ちも悪くならないだろうと思えるね。
でも良く分からないのは、何でこれを iPad と同時に発表しなかったのかねぇ。iPad にマルチタスク機能がない事で失望したって意見は少なからずあったもの。加えて、iPhone OS 4 が iPad に対応するのは、iPhone, iPod touch より少し遅れて秋頃になるそうな。これも良く理由が分からん。
あ、そうそう新型iPhone(iPhone 4G)の発表も無かったんだよね。1年ごとの新型投入のサイクルで行けば、そろそろ発表時期なのに。何でかなぁ〜?
|