私は今、Androidアプリケーションに含めるために、今年初めに作成した古いc /c++コードのJNIバージョンを作成しています。JavaとC++の両方で書いているものと同等のデスクトップアプリケーションを作成しましたが、パフォーマンスの違いが顕著であるため、ndkを利用したいと思います。
私はJNIに非常に慣れていないので、物事を理解する方法として、何らかの型マッピングを行う必要があるようです。jdouble置き換えるdouble、jint置き換えるintなど。ただし、古いコードの一部を変更せずに実行してみましたが、機能しました。いくつかのSTLライブラリ(listとvector)も含まれていますが、問題はありませんでした。APP_STL := stlport_staticAndroid.mkファイルに含めました。
だから私の質問は:これを行うことでパフォーマンスのペナルティはありますか?他に知っておくべきリスクはありますか?jniでC/C ++プリミティブ型を使用することの欠点は何ですか?コードをより速く実行させることはできますか、それとも気にしないでください。
ありがとう、
NAX