0
私は多くの計算を移植しています。私はJavaからC++を使用しています。そのようなことからパフォーマンスが大幅に向上しているのを見ていますが、もはや必要のない変数を取り除くためにjni関数を使用することはできません。たとえば、私はあなたのJNIメソッドがそれに来るときに終了することを知って、あなたがjfloatArray
を使用してきたあなたは、呼び出し:JNI-C++ jniを使用しているとき、jfloatのようなプリミティブをどのようにクリーンアップしますか
env->ReleaseFloatArrayElements(vec,in,0);
そして、それが配列を破壊し、メモリを解放します。可能であれば配列型ではない単一のプリミティブでも同じことができるようにしたいと思いますが、私はOracleとSunのドキュメントを見てきました。そのようなことをする方法はありません......私はちょうどC++を使ってオブジェクトを破壊するためのデフォルトの方法を使用するか、そのようなことを行うための安全な確実な方法があります。
私はそれがやっていると確信していることを確認していただきありがとうございます:)私は、メモリ使用量が増えたことに気がつきませんでしたので、私のプロジェクトで道路がダウンしていればjfloatsやjdoublesのようなものを解放する必要があります。 –