Ich habe Zweifel bezüglich der JNI-Funktionsaufrufe von Android. Laufen sie auf demselben Thread wie die Android App? Wird die Benutzeroberfläche einfrieren, wenn die native Funktion mehr Zeit zum Ausführen benötigt?Android JNI-Funktionen auf Haupt-Thread ausgeführt?
10
A
Antwort
13
JNI-Aufrufe sind synchron, wie bei jedem anderen Java-Aufruf können Sie Threads wechseln oder spawnen, aber wenn Sie sie nicht angeben, werden sie auf demselben Thread ausgeführt. Wenn Sie also vom UI-Thread aus eine JNI-Funktion aufrufen, wird sie blockiert, bis die Funktion zurückkehrt.
1
Die JNI-Funktion, die im selben Thread mit demjenigen ausgeführt wird, der die JNI-Funktion aufruft.
Es scheint, dass wie diese, wenn Sie einen neuen Thread (Thread A) in einem Dienst zu erstellen, und eine JNI-Funktion in Thread A genannt, dann die JNI für die Klärung im Thread A.
Verwandte Themen
- 1. Welcher Code wird im Hauptthread des Browsers ausgeführt?
- 2. Android - Anwendung kann zu viel Arbeit auf seinem Hauptthread
- 3. CoreBluetooth-Delegaten auf Hauptwarteschlange/Hauptthread?
- 4. AscyncTask - Nicht auf dem Hauptthread
- 5. Warum ComplectableFutures thenAccept() nicht im Hauptthread ausgeführt wird
- 6. Sicherstellen, dass Methoden immer nur vom Hauptthread ausgeführt werden
- 7. NSInternalInconsistencyException Zugriff auf _cachedSystemAnimationFence erfordert den Hauptthread
- 8. Android, Volley Anfrage, die Antwort blockiert Hauptthread
- 9. Kann UI auf Hauptthread nicht aktualisieren
- 10. Realm-Schreibvorgänge blockieren Hauptthread
- 11. Wie poste ich Code, der auf dem Android-Hauptthread von einem separaten Thread in C++ ausgeführt werden soll?
- 12. Parse.enableLocalDatastore() - Warnung: Eine lang andauernde Operation wird auf dem Hauptthread ausgeführt
- 13. C# Wie deaktiviere ich eine Schaltfläche, die auf dem Hauptthread ausgeführt wird?
- 14. Ausführen von Code auf dem Hauptthread von einem sekundären Thread?
- 15. AmazonS3Client putObject funktioniert nur auf iOS Hauptthread?
- 16. Methode ausgeführt, wenn Benutzer Taste auf Android
- 17. Blockiert NSURLConnection den Hauptthread?
- 18. Erzwingen der Codeausführung im Hauptthread
- 19. NSThread sleepfortimeiinterval Blöcke Hauptthread
- 20. Android: Wird die View.onClick() -Methode im Hauptthread der Benutzeroberfläche aufgerufen?
- 21. Eine lang andauernde Parse Betrieb auf dem Hauptthread wird
- 22. GCD geht zurück zum Hauptthread
- 23. Firebase Synchrone XMLHttpRequest auf dem Hauptthread ist veraltet
- 24. Std :: Thread erkennen Hauptthread
- 25. Netzwerk auf Hauptthread Ausnahme beim Post Daten auf PHP-Server
- 26. Android, Handler läuft im Hauptthread oder in einem anderen Thread?
- 27. Ist der Hauptthread der gleiche wie der UI-Thread?
- 28. Die Anwendung macht zu viel Arbeit auf dem Hauptthread
- 29. Wie eine Ausnahme auszulösen, wenn eine Methode aus Hauptthread ausgeführt wird
- 30. Versandgruppe - kann nicht zum Hauptthread
Dank läuft – Shamy
Auf welchen Thread wird JNI_OnLoad ausgeführt? – fnc12