gpt4 book ai didi

java - 我是否需要在使用 NewIntArray 创建的数组上调用 ReleaseIntArrayElements?

转载 作者:搜寻专家 更新时间:2023-10-30 21:25:51 24 4
gpt4 key购买 nike

我有一个在位图上做一些工作的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com