Javaで開発されたAndroidアプリは「Dalvik」というAndroid OSに搭載されてる仮想マシンを経て解析され、実行します。 対してAndroid NDKはこの仮想マシンを通らず、ハードウェア上で直接実行できるコードを組むことが出来ます。加えてネイティブコードはC/C++言語、Java言語だけで開発されたアプリよりも断然速いです。 私は以前、テクスチャ・ポリゴンの描画機能だけをネイティブ化していました。しかし折角高速化出来るのであれば、描画部分だけでなく処理に時間の掛かる他のコードもネイティブ化したいところです。ということで思いついたのが今回のファイル読み込みです。 以前MMDモデルをAndroidで読み込んで描画するプログラムをJavaだけで作ったことがあるのですが、1ファイルに付きデバッグで1分以上、リリースで5秒も読み込みに掛かりました。この処理をネイティブ化すればかなり
![Android NDKでファイル読み込みをやりたかっただけ - とあるSEの研究記録Ⅲ(レコーダー)](https://cdn-ak-scissors.b.st-hatena.com/image/square/bd3df7f4e9588b4eef1d24d82e2f2ce418c927e3/height=288;version=1;width=512/https%3A%2F%2Fimage.jimcdn.com%2Fapp%2Fcms%2Fimage%2Ftransf%2Fnone%2Fpath%2Fs2878fd22dd9ce697%2Fimage%2Fi0bd7c4ba5f17fa1e%2Fversion%2F1382344685%2Fimage.png)