У меня есть сомнения относительно вызовов функций JNI, сделанных с Android. Они работают в той же теме, что и приложение для Android? Будет ли пользовательский интерфейс зависеть, если нативная функция занимает больше времени для запуска?Функции Android JNI работают в основном потоке?
10
A
ответ
13
JNI-вызовы синхронны, как и любой другой вызов Java, вы можете переключать или создавать потоки, но если вы не указали это, они выполняются в одном потоке. Поэтому, если вы вызываете функцию JNI из потока пользовательского интерфейса, она будет заблокирована до тех пор, пока функция не вернется.
1
Функция JNI работает в том же потоке с тем, кто вызывает функцию JNI.
Похоже, что так, если вы создаете новую тему (Thread A) в службе, и называется функцией JNI в Thread А, то JNI работает в Thread А.
Спасибо за разъяснение – Shamy
В каком потоке выполняется JNI_OnLoad? – fnc12