ich weiß, dass die Android-App im Hauptthread bedeutet UI-thread.Ich will wissen, was ist der Haupt-Thread zum Ausführen einer App? Was passiert, wenn wir den Hauptthread nicht zum Ausführen von app verwenden. Warum ist der Hauptthread erforderlich?Was ist der Haupt-Thread in Android?
Antwort
Von this link:
Was ist die Notwendigkeit der Haupt-Thread?
Wenn eine Android-Anwendung zum ersten Mal gestartet wird, erstellt das Laufzeitsystem einen einzelnen Thread, in dem alle Anwendungskomponenten standardmäßig ausgeführt werden. Dieser Thread wird im Allgemeinen als Hauptthread bezeichnet. Die Hauptaufgabe des Hauptthreads besteht darin, die Benutzeroberfläche in Bezug auf die Ereignisbehandlung und Interaktion mit Ansichten in der Benutzeroberfläche zu handhaben. Alle zusätzlichen Komponenten, die in der Anwendung gestartet werden, werden standardmäßig auch im Hauptthread ausgeführt.
Warum ist Hauptgewinde notwendig? zu sperren, bis die Aufgabe abgeschlossen ist
Jede Komponente innerhalb einer Anwendung, die die gesamten Anwendung erscheinen wird veranlassen, eine zeitraubende Aufgabe mit dem Haupt-Thread ausführt. Dies führt normalerweise dazu, dass das Betriebssystem dem Benutzer eine Warnung "Anwendung reagiert nicht" anzeigt. Dies ist natürlich weit von dem gewünschten Verhalten für jede Anwendung entfernt. In einer solchen Situation kann dies einfach dadurch vermieden werden, dass die Aufgabe in einem separaten Thread ausgeführt wird, wodurch der Hauptthread ungehindert mit anderen Aufgaben fortgesetzt werden kann.
Bitte beachten Sie den Link, um mehr über Haupt-Thread mit einem Beispiel zu verstehen.
Für weitere Informationen können Sie this link folgen.
Nun braucht es einen Thread. Jede App hat mindestens eine - sogar die einfachste Hello World App in der einfachsten Sprache. Ein Thread ist nur eine Reihe von Anweisungen, die auf dem Prozessor ausgeführt werden. Selbst wenn Ihre App gar nicht Multithread ist, wäre die eine Reihe von Anweisungen, die sie ausführt, ein Thread - Sie könnten ihn sogar als Hauptthread bezeichnen, wenn Sie das möchten. Es wäre also buchstäblich unmöglich, überhaupt keinen Hauptfaden zu haben.
Was den Hauptthread besondere in Android macht, ist, dass Sie nur sichtbare Elemente auf, es zu ändern erlaubt. Wenn Android diese Einschränkung nicht hätte, hätten Sie die Möglichkeit, die Bedingungen für Rennen und inkonsistente UIs zu ändern - die Möglichkeit, dass Ansichten in einem Thread geändert werden, während ein anderer auf den Bildschirm zeichnet. Um dies zu verhindern, müssten Sie viel manuell sperren. Stattdessen hat Android entschieden, diese Änderungen nur im Hauptthread zuzulassen. Das verhindert eine große Menge von Timing-Bugs und Race Conditions (allerdings nicht alle, je nachdem, wie Sie Ihre Modelle implementieren).
- 1. Was ist der Wert für die Hauptthread-Priorität?
- 2. Ist der Hauptthread der gleiche wie der UI-Thread?
- 3. Was ist BaseUrl in der Android-Webansicht?
- 4. Was der Code in Android Studio ist
- 5. AFHTTPSessionManager Erfolg Rückruf ist in Hauptthread
- 6. Ist Thread 0 immer der Hauptthread in einem iOS-Absturzbericht?
- 7. Firebase push() und der Hauptthread
- 8. Android, Volley Anfrage, die Antwort blockiert Hauptthread
- 9. Erzwingen der Codeausführung im Hauptthread
- 10. Synchrone XMLHttpRequest im Hauptthread ist veraltet
- 11. Android: Wird die View.onClick() -Methode im Hauptthread der Benutzeroberfläche aufgerufen?
- 12. Pause Hauptthread in Python
- 13. Was ist Kompatibilitätsverhalten in Android?
- 14. Was ist SharedPreferences in Android?
- 15. Hauptthread pfquerytableviewcontroller
- 16. Was ist "Aktivitätsdatensatzobjekt" in Android?
- 17. Was ist "Kontext" in Android?
- 18. Was ist HTMLCleaner in Android
- 19. Was ist Uri.parse in android
- 20. Was ist der icicle-Parameter von Android?
- 21. Was ist der Zweck der Verwendung von System.img in Android?
- 22. Was ist der Zweck der Applicaton Klasse in Android
- 23. Android: Was ist der input für Benutzername
- 24. Was ist "Fokus" innerhalb der Android-API?
- 25. Was ist Android PDK?
- 26. Was ist Android Multidex?
- 27. Ist es gültig, pthread_join im Hauptthread aufzurufen?
- 28. Android, Handler läuft im Hauptthread oder in einem anderen Thread?
- 29. Was ist android: layout_marginStart
- 30. Android-Kamera: Threads? Was sollte was tun