ReleaseByteArrayElements需要更多时间

时间:2019-08-09 05:01:11

标签: java linux java-native-interface usb

我有一个JNI代码可以从USB读取数据。在代码ReleaseByteArrayElements中花费更多时间。

jint read_linux(JNIEnv *env,jobject obj, jbyteArray j_byte_read, jint len)
{
    jbyte *c_read_ptr = NULL;
    jint read_ret = -1;
    c_read_ptr = (*env)->GetByteArrayElements(env, j_byte_read, NULL);
    read_ret = read(file_d, c_read_ptr, len);
    if(read_ret >= 0)
    {
        // Timer1
        (*env)->ReleaseByteArrayElements(env, j_byte_read, c_read_ptr, 0 );
        // Timer2
        // (Timer2 - Timer1) > 60 milliseconds
    }
}

有时Timer2Timer1之间的差大于60毫秒。我也尝试过SetByteArrayRegion。遇到同样的问题。

0 个答案:

没有答案