在JNI方法中Get(Type)ArrayElements javadoc,它是写的
“返回的数组可能是Java数组的副本”。
因此,此方法返回Java数组的指针或副本。我在我的代码中做了一个简单的测试,实际上,这个方法返回一个副本。 除了我希望使用本机方法来加速巨大的图像处理,因此处理BIG阵列。但是如果使用本机代码意味着复制我的阵列,性能将深深地受到影响,而我可能缺乏RAM。
所以我的问题是:有没有办法强制此方法返回指针而不是副本? 谢谢你的帮助。
答案 0 :(得分:1)
不,你不能强制非复制。您可以使用相应的版本代替GetPrimitiveArrayCritical()
鼓励就地行为。请仔细阅读文档,因为除了通常的JNI限制之外,使用此功能会对您可以执行的操作施加很大的限制。