Android JNI блокирует нативные вызовы Java - PullRequest
0 голосов
/ 13 октября 2011

У меня есть довольно простой вопрос относительно вызовов JNI к Java в Android NDK.У меня нет проблем с выполнением реальных вызовов, но я не уверен, заблокирован ли вызов Java или нет, когда он вызывается из C. Мой вопрос заключается в том, блокирует ли вызов c во время выполнения метода Java, или он возвращаетнемедленно.Причина, по которой я спрашиваю, состоит в том, что я передаю byteArray в Java, и мне интересно, есть ли у Java доступ к нему после инициирования вызова.

Ответы [ 2 ]

2 голосов
/ 13 октября 2011

JNI-вызовы похожи на нормальный вызов функции. Ваш нативный код продолжает работать, когда возвращается вызов JNI (и функция Java).

0 голосов
/ 22 октября 2011

Вы должны быть осторожны при выборе вызовов JNI, некоторые могут стать блокирующими. Например, получение критического указателя на байтовый массив и не освобождение его может заблокировать продолжение работы jvm.

...