2012年3月7日水曜日

AndroidにおけるAIRアプリとネイティブアプリのメモリ使用量の差を調べる

AndroidにおけるAIRアプリとネイティブアプリの最低メモリ使用量の差を調べておきたい。

感覚的にはもちろんネイティブアプリの方が少ないだろうと思うのだけど、どれだけ違うのかをハッキリさせておきたい。

今回つくるアプリは、画面にボタンを表示するだけのアプリ。最低限の機能にすることで、より最低メモリ使用量に近い値を得たいため。実機はGalaxy Tabを使った。


まずはネイティブアプリ。APKは約13Kバイト。実行画面はこんな感じ。

メモリ使用量は?


なるほど。2.86MBか。CPUの使用率もしばらく見てたけど、ずっと0%だった。


次はAIRアプリ。「Flex モバイルプロジェクト」で作成し、Captive Runtimeなしでリリースビルドした。APKは約538KBバイト。実行画面はこんな感じ。

メモリ使用量は?

24.37MBも食っている。CPU使用率は0.33%〜0.66%を行ったり来たりして、0%になることはまれだった。何やってるんだろ?


まとめると


<ファイルサイズ>

AIRアプリはネイティブの約41倍(AIR:538KB - ネイティブ:13KB)
>AIRアプリはネイティブアプリよりもファイルサイズが大きくなる傾向


<メモリサイズ>

AIRアプリはネイティブの約8.5倍(AIR:24.37MB - ネイティブ:2.86MB)
>AIRアプリはネイティブアプリよりもより多くのメモリを消費する傾向


<CPU使用率>

AIRアプリはバックグラウンドでも微妙にCPUを食っている
>AIRアプリはネイティブアプリよりもバッテリーを消費するかもしれない傾向


やっぱり感覚は正しかった。

残念ながら、AIRアプリはいわゆる「重い」と言わざるを得ない。