- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个在位图上做一些工作的 native 方法。在方法内部,我通过方法调用获取图像数据,该方法调用将数据写入我使用 NewIntArray
创建的 jintArray
参数:
jintArray pixels = env->NewIntArray(width * height);
我不需要将此数组返回给调用 Java 代码 - 它仅用于在此方法中进行处理。我需要在 pixels
上调用 ReleaseIntArrayElements
吗?如果是这样,我应该为 elems
参数传递什么,因为我不需要将它复制回 Java 数组?
void (JNICALL *ReleaseIntArrayElements)
(JNIEnv *env, jintArray array, jint *elems, jint mode);
最佳答案
您无需对其进行任何操作。它是一个本地引用,当您的 JNI 方法退出时,它将被清除。正如 Edward Thompson 在上面暗示的那样,ReleaseIntArrayElements()
是 GetIntArrayElements() 的逆函数。
它没有其他功能。
关于java - 我是否需要在使用 NewIntArray 创建的数组上调用 ReleaseIntArrayElements?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10553405/
我使用 JNI 调用通过 Android 类位图加载 PNG 文件使用本指南 http://lol.zoy.org/blog/2011/3/2/load-pngs-using-android-ndk
我有一个在位图上做一些工作的 native 方法。在方法内部,我通过方法调用获取图像数据,该方法调用将数据写入我使用 NewIntArray 创建的 jintArray 参数: jintArray p
我是一名优秀的程序员,十分优秀!