NDK付属のサンプル Hello-jniをいじくる。
ネイティブメソッドの戻り値/引数を変更してみる。
- HelloJni.javaの native就職されているメソッドを適当にいじる。
- eclipseにて普通にビルド =< bin/下に HelloJni.javaのクラスファイル(HelloJni.class)が生成される。
- bin/にて「 javah com.example.hellojni.HelloJni」を実行すると HelloJni.javaに含まれるネイティブメソッドのプロトタイプ宣言が書かれた「com_example_hellojni_HelloJni.h」が生成される。
- com_example_hellojni_HelloJni.hを元に jni/hello-jni.cを修正する。
この手の高速化手段で重要なのは「ボトルネックを把握してから取りかかる」なのでざっくりと処理にかかる時間を調べてみる…確かに Javaは遅い。
ネイティブの 15倍の時間がかかっている…が、今回の件に関しては「2msと 30msの差に誰が気づく?」ってな世界だな。
NDKで遊ぶの自体はいいとして、高速化という点ではもう少し考えた方が良さそうだ。