2011年8月7日日曜日

Androidアプリの高速化

Androidアプリの高速化に関して私見です。JNI化する/しないの判断基準です。

  1. 単純計算ならばJavaでも充分。ただし、GCが出来るだけ発生しないように「美しく」無いCodingにしなければなりません。
  2. DBまわり、delete/update等は殆ど速度の向上がありませんでした。
  3. ただし、cursor関係は効果ありです。エミュレータ上で15倍程度、実機(HTC Desire)で5倍程度、速度向上しました。(エミュレータの方が早いのは、デバイスへの書き込み速度に依存してる為と判断しています)
    ※厳密にcursorだけ使用したわけではありません。付随する機能も込みでの計測です。
今回はパフォーマンスが足りない事が後からわかったので、急遽JNI化せざる終えませんでした。もう何作品か作れば最適な形にできると思います…