Как преобразовать byte [] в родную память байтового буфера? - PullRequest
4 голосов
/ 28 июля 2011

Мне нужно передать большой объем памяти стороне jni для ее анализа. Я использовал GetByteArrayElements, чтобы получить собственный указатель раньше. Но я обнаружил, что этот метод всегда копирует память, а не использует ее напрямую. Поэтому я использую GetDirectBufferAddress, чтобы получить память напрямую, чтобы избежать копирования. Для этого необходимо использовать метод allocateDirect для выделения памяти. Но память, которую мне дали, это байтовый массив, а не нативная память. Есть ли способ конвертировать byte [] в bytebuffer? Спасибо.

1 Ответ

4 голосов
/ 28 июля 2011

К сожалению, вам придется использовать , поставить и скопировать ваш байтовый массив в буфер, выделенный с помощью allocateDirect.

...