2013年6月20日木曜日

Androidバージョンごとの比較(2.1~10)

Andoroidの各バージョンの違いを速度面を中心に比較。

■Android2.1(Eclair)→2.2(Froyo) 2010年3月

JITコンパイラの実装が大きく寄与し、実行速度が大幅向上。
ベンチマークベースでCPUスコアが少なくとも2~3割はアップ。
JavaScriptの取り扱いの向上も含めるとブラウジング性能は大幅に開きが。
Androidは2.2ではじめてまともに動くようになったといってもいい。



ITpro - やっぱりAndroid 2.2は速かった
http://itpro.nikkeibp.co.jp/article/Watcher/20100709/350107/

こばかつのチラシ裏 - IS04(REGZA Phone)2.2.2(Froyo)レポート
http://k0bakatsu.blog106.fc2.com/blog-entry-76.html


■2.3(Gingerbread) 2010年12月

目に見えるところではテキスト選択しやすくなったととか、複数カメラへの対応等、
ユーザビリティの改善が主だけど、一方でビデオドライバや描画の最適化が
進んだことから表示性能が地味に向上している。

また、IOまわりやガベージコレクションの機能向上もあって安定性が増した。
あと、ブラウジングではgzip圧縮がデフォに。


GALAXY Tab SC-01Cのソフトウェアアップデート 2.2→2.3.3
http://darkroid.net/archives/984

NiiのBlog
GALAXY S Android 2.3.3アップデート後のベンチマークチェック
http://nii.blog.ocn.ne.jp/blog/2011/06/galaxy_s_andr-1.html


■4.0(IceCreamSandwich) 2011年10月

あいだに3.x(Honeycomb)が入るが、そっちはスマホでは採用されず
タブレット向けの開発が主。
最終的に4.0で合流して、これひとつでスマホ・タブレット両方へ対応。

2.xとの大きな違いは描画関連でのパフォーマンス向上と、ブラウジング性能の
大幅な向上が目につく。
なお、2015年にChromeのサポート外になったためブラウジングにおける脆弱性に
対応できないため中古での4.0以下の購入は避けた方がいい。
もっとも、当時の無印スナドラ400あたりは今となっちゃスペック的にかなり
見劣りするので言わずとそんなもの買わないと思うけど。


※ベンチマークは9:50から
右がGB、左がICS。ベンチマークから左端に登場するのはS2



Android Authority
Android 2.3 Gingerbread vs. Android 4.0 Ice Cream Sandwich
http://www.androidauthority.com/android-2-3-gingerbread-vs-android-4-0-ice-cream-sandwich-37742/

日経トレンディネット
第5回:Android 2.3の“お手本モデル”Nexus SでAndroid 4.0を動かしてみた
http://trendy.nikkeibp.co.jp/article/column/20120227/1039836/


■4.1(Jelly Bean) 2012年7月

ハードウェアまわりの改良は描画関連が目玉。
特にタッチへの追従など、「iPhoneヌルヌル、Androidはなんかヘン」という
ずっとつきまとってきた使用感の違いへ取り組んだ結果がここで出た。
大して違いを感じることもないけど、無いに越したことは無い。
直後に4.2が控えていることから、このバージョンの採用は中華タブくらいでしか
見られない。





AndRock - Android 新OS発表!Android 4.1 Jelly Bean はここが違う!
http://androck.jp/news/topics/android-newos-android-4-1-jelly-bean-kokogachigau/


■4.2(Jelly Bean) 2012年11月

コードネームが変わらないことからも、ユーザビリティ向上が主で
システムの大幅な設計変更はない。
よってベンチマークの値もちょっと上がる程度。
一応描画周りのチューニングも入ってるけどさほどといったとこ。
どちらかというとJBの安定版といった位置づけ。
比較的採用も多く、下手すると2014年モデルでもこのバージョンだったりする。
また、この頃からRAM2GB・ROM16GBくらいは当たり前に積んでいるので
中古で買うならここらかKitKatのスナドラ800モデルを漁ることになる。

なおOS組み込みのブラウザエンジンが旧く脆弱性も残ったままのため
ChromeかFirefoxをインストールすることは必須となる。
Yahooブラウザのようなガワだけの代物だと結局レンダリングエンジンは
OSそのものに依存するので使用はおすすめしない。




■4.3(Jelly Bean) 2013年7月

これもまたコードネーム変わらず。
フツーのユーザーにとって目新しい機能はほとんどなく、
描画周りの微妙な最適化くらいしかない。
なのでベンチマーク値も差がほとんどない。
こちらも短命なのでスマホに限らずこのバージョンを採用したものは
世の中にほとんどないはず。




■4.4(KitKat) 2013年10月

久々のメジャーアップデート。(といってもバージョン表記は4.x)
メモリまわりの見直しをおこない、このところひどくメモリ食いに
なってしまったOSをスリム化。
その自信は「メモリ512MBでもサクサク動きます」というフレコミに現れている。
(が、実際は1GBないと辛い)

また、まだ実験的ではあるも実行環境にメスを入れて動作速度の
向上を図った。(ART: Android RunTime)
従来のアプリ実行環境ではアプリを都度起動するごとに毎回毎回
コンパイラが起動して実行していた。
いわゆる「中間コード」という、完全なインタプリタではないけれど
完全なネイティブコードでも無いものをもとに、呼び出されてはじめて
それに応じて動作するしくみ。
これではどうしてもラグが発生するため効率が悪い。
じゃああらかじめネイティブに動くバイナリをこさえておきましょう
という発想。
なのでこれを使用すると作成したバイナリ分の容量が増えるが
恩恵に比べたら十分許せる。
ただしこの機能を有効にできるかどうかはモノによる。

~よくわからない人のための解説ここから~

インタプリタ方式:
→泥棒がきてはじめてわらを刈り取りにいく

中間コード方式:
→泥棒がきたら縄を編み始める

ネイティブ方式:
→泥棒が来る前から縄を用意しておく

~解説ここまで~

appllio
Nexus 5(Android 4.4 KitKat)ではベンチマークスコアを50%アップ可能、
ランタイム「ART」の実力 CPUスコアは2倍
http://appllio.com/20131111-4453-android-4-4-kitkat-run-time-art-test

Android 4.4 ART runtime test could mean faster apps, less device drain
http://www.techradar.com/news/mobile-phones/phone-and-communications/operating-systems/software/tablets/mobile-computing/new-android-4-4-runtime-aims-for-faster-apps-less-device-drain-1197992

ベンチマークスコアは1.4倍に



■5.0(Lollipop) 2014年11月

KKで実験的に実装した上記ARTが標準に。
また、このバージョンで64bitネイティブ動作も可能に。
なおこのバージョンから6.0.1まで引きずるメモリリーク問題が発生。
また電波掴みに難ありのイメージがつきまとう。
そのせいか5.1含めロリポップは人気ない様子。

絶対的な動作速度は4.4より明確に向上しているので、中古で買うなら
せっかくなのでこの世代以降がいいが、電波まわりの不具合を考えると
wifi運用ならばという但し書きがつく。

OSと一蓮托生であったブラウザのレンダリングエンジンもこのバージョンから
外出し(Webview)になったのでまあまあ長く使えるものとなった。

ちなみに数千円の予算で中古のオモチャを探す場合
・Xperia Z(Snapdragon S4 Pro) 5.1.1アップデート可能
・AQUOS PHONE SHL22(Snapdragon 600) Android 4.2.2
このような二択の場合はコンパイラで巻き返せるZにいっといたほうがいい。
(600とS4 Proの差が実用面ではさほどないため)
ただしOSの最適化をもってしてもスナドラS4 Proは800に勝てっこないので
サクサク動かしたいならどっちにしろ800いっとけって話だけど。

DalvikのKitKatと比較するとなかなかの度合いで向上。


ART同士のベンチマークスコアは誤差の範囲内~やや向上程度。



■6.0(Marshmallow) 2015年10月

microSDを内部ストレージとして扱うことが可能になり、容量不足で
アプリ入らないよ問題の救世主となる…はずであったが、microSDはどんなに
速くても内部ストレージに敵わないのでまともに動作しないことしばしば。
大人しくROM16GBモデル以上を買うのが吉。
最近では当たり前だがたまにどうかするとSIMフリーやワイモバイルあたりで
8GBモデルがあったりするものだからどうも性質が悪い。
このため新学期キャンペーンで最安のDIGNOを買い与えられた学生らの阿鼻叫喚が
全国でこだました。
なおマシュマロ世代は.1刻みのアップデートリリースはなし。

KK→LPで見られた、ART導入ほどの劇的なパフォーマンス向上はなくここらで頭打ちに。
ベンチマークスコアも差がない。


(2020/4/12追記)
大々的なアナウンスはないが内部的にOpenGL ES 3.1への最適化が図られている
可能性があるため、ベンチマークや新しめのゲームでは有意な差が出る。
ただし上記動画のAntutuは6.1で有意な差はなく、下記記事は6.0で大幅アップと
あるため、ベンチマーク側で修正が入った可能性もある。

ASCII.jp:Android 6.0でスマホの処理能力がアップ? 5.1との性能差を探る
https://ascii.jp/elem/000/001/156/1156074/


■7.0(Nougat) 2016年8月

Windowsのようなマルチウィンドウが目玉。
しかし小さい画面でそんなの使うユーザーはまずいないので
本当どうでもいい感じ。
ロリポップで外出しされたWebviewはこのバージョンでChromeに統合し
アップデートが一本化されすっきり。
7.1で安定版としてまとめた感じ。

ベンチマークスコアの数値でも大きな差はない。



■8.0(Oreo) 2017年8月

食指が動くこれといった新機能は見当たらず。
なお8.1で最大の変更点は絵文字ハンバーガーのチーズ位置修正。

パフォーマンスまわりで明確なアナウンスはないものの、概ね1割程度の
速度向上が見られる。
他のベンチマーク比較でも同等か上回るものだったので
少なくともパフォーマンスダウンはない模様。



■9.0(Pie) 2018年8月

目玉機能は利用パターン・頻度から得られたリソースの自動配分。
これにより電池持ちを中心に改善。

パフォーマンスまわりで明確なアナウンスはないものの、巷の評価は
総じて体感レベルで向上。
実際、メモリ1Gのポンコツに入れたがまあまあサクサク。


ここの結果を見る限り、描画周りに最適化が入ってるくさい。



■10 2019年9月

目玉機能は下記に。UIまわりの便利機能実装が主。
「Android 10」へのアップデート対応開始!
追加された新機能をまとめて紹介|TIME&SPACE by KDDI
https://time-space.kddi.com/mobile/20200204/2836

ベンチマークスコアの有意な落ち込みもない。


裏側ではAV1のデコードがサポートされ、YoutubeのAV1移行に向けた
地ならしがなされたうように見える。
ハードウェアで再生支援が効くようになると現時点で
VP9を採用しているYoutubeもいずれAV1に移行するのだろう。