記事元: Why Android Will Always Be Laggier Than iOS.
実際、iPhone を使うと Android に比べて、画面がスムーズに動くように感じますね。iPhone は、指がタッチするとほぼ遅延なく反応しますが、Android は、Honeycomb になってもまだ iPhone より遅延を感じる場合があります。
確かに、Android は、Honeycomb まで、UI操作にハードウェアアクセルレーターを使用していなかったため、ラグタイムがあってもしょうがなかったでしょうが、Honeycomb になってもどうもパッとしません。最近の Android携帯は 1GB RAM 搭載など iPhone4S(512MB) 同等以上のハードウェアスペックを持ってるので、どうやらハードウェアの問題では無いようです。では何故?。
曰く、AndroidのUIが下記の設計上の制約で完全に滑らかになることはないそうです。
– UIのレンダリングには、アプリケーションのメインスレッドで発生します
– UIのレンダリングは、通常の優先度を持っています
つまり、iOS が、タッチされたらとりあえず、それに対する反応を返すような構造になっているに比べ、Android の UIレンダリングは、通常のプロセスと同等の動作となるため、どうしても遅延が解消できないわけです。
では、なぜ Androidチームは、このようなレンダリングのフレームワークを設計したのでしょう?。
Android の作成は、iPhone のリリース前に始まっていました。ターゲットは Blackberry。当時、キーボードとトラックボール全盛で、マルチタッチは、想定外。iPhoneが出てきたときに、Androidチームは、競合他社の製品リリースラッシュで、残念ながら、UIフレームワークを書き換えるには遅すぎたそうです。
じゃあ、何故 Google はフレームワークを変更しないのでしょう?。フレームワークの変更で Andoroid マーケットのアプリがそのフレームワークに書きなおすのは大変ですからね。
とはいえ、フレームワークの変更なんて Apple はお手の物 Google がやらないとは限らないし、ハードウェアの進化で iOS の設計上のアドバンテージは少なくなっていきそうです。