我正在尝试使用JNI做一个android应用程序。我有一个方法以数组作为输入(jfloatArray featurePoints):

jfloat* flt1 = env->GetFloatArrayElements(featurePoints,0);

使用此数组后,我尝试释放内存。我应该使用
env->ReleaseFloatArrayElements(featurePoints, flt1, 0);

要么
env->DeleteLocalRef(featurePoints);

最佳答案

使用GetXxArrayElements()撤消工作时,需要调用ReleaseXxArrayElement()。

env->ReleaseFloatArrayElements( featurePoints , (jfloat *)flt1, 0);
// we cleanup local ref
env->DeleteLocalRef(featurePoints);

关于c++ - ReleaseFloatArrayElements和DeleteLocalRef有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16356554/

10-13 04:53