在我的Android应用程序的JNI内部,我使用以下代码
output_buffer = jni_env->NewByteArray(sizeof(short) * samples.size());
jboolean *isCopy;
output_buffer_native = jni_env->GetByteArrayElements(output_buffer, isCopy);
这在某些电话上可以正常工作,但在某些其他电话上,在呼叫GetByteArrayElements
时会崩溃。将这一行更改为
jni_env->GetByteArrayElements(output_buffer, nullptr);
崩溃消失了。这可能是什么问题?