jni メソッドが終了し、jfloatArray を使用している場合は、次のように呼び出す必要があることを知っています。
env->ReleaseFloatArrayElements(vec,in,0);
jfloat
配列型ではない単一のプリミティブで同じことを行う方法はどうですか?
jni メソッドが終了し、jfloatArray を使用している場合は、次のように呼び出す必要があることを知っています。
env->ReleaseFloatArrayElements(vec,in,0);
jfloat
配列型ではない単一のプリミティブで同じことを行う方法はどうですか?
JNI
インターフェイスがメモリまたは他のリソースを割り当てた可能性がある場合にのみ、クリーンアップする必要があります。のような基本的な型は、基本的な C++ *型(通常は float)jfloat
の typedefであり、コピーによって渡されます。を宣言すると、それはスタック上の単なる浮動小数点型であり、そのスコープを離れると消えます。jfloat
単純なjfloat (実際には typedefed の float) の場合はスタックによって削除されますが、ネイティブ側でnewまたはmallocで割り当てられた jfloat* 配列の場合は、delete[]またはで消去する必要があります。自由