Ist es sicher, requestNetwork() - Schnittstelle von ConnectivityManager über Haupt-Thread aufzurufen, oder wird die Gefahr eines ANR-Fehlers unterbrochen?Ist es sicher, ConnectivityManager requestNetwork() im Haupt-Thread aufzurufen?
Antwort
Ja. Dies ist eine asynchrone Operation. Sie erhalten Updates per ConnectivityManager.NetworkCallback
Rückruf.
Vergessen Sie nicht, sich mit unregisterNetworkCallback
abzumelden, wenn Updates nicht mehr benötigt werden, um Speicherlecks zu vermeiden.
Ich bevorzuge es, jede Aufgabe im Zusammenhang mit Netzwerk in einem separaten Hintergrund thread ... Da es nicht blockiert die ui ... Aber da ul b mit einem Broadcast Receiver ... Es ist standardmäßig synchron .. Also du muss nicht für Empfänger.
vereinbart, aber in diesem Fall bieten wir den Rückruf an ConnectivityManager, wann immer verfügbar oder nicht verfügbar usw. Also Blockiert es immer noch die Benutzeroberfläche? –
Als Rückruf ... Ul wird Broadcast-Empfänger verwenden, der synchron ist ... Also wird es nicht die UI blockieren –
- 1. Ist es sicher, die Methode View.post (runnable) im Hauptthread aufzurufen?
- 2. Ist es gültig, pthread_join im Hauptthread aufzurufen?
- 3. Ist es sicher, Casted Funktionszeiger aufzurufen?
- 4. Ist es sicher, TWinControl.Update von TGraphicControl.Paint aufzurufen?
- 5. Ist es sicher, CFRunLoopStop von einem anderen Thread aufzurufen?
- 6. ConnectivityManager undicht, nicht sicher, wie zu lösen
- 7. Ist es sicher, nicht konstante Elementfunktionen für rvalue-Objekte aufzurufen?
- 8. Ist es sicher, pthread_create mit einem Mutex aufzurufen?
- 9. Ist es sicher, einen RCW von einem Finalizer aus aufzurufen?
- 10. Ist es sicher, Screen.hide() nach Screen.dispose() in LibGDX aufzurufen?
- 11. Ist es sicher, kclass.memberProperties für ein unbekanntes Objekt (Any) aufzurufen?
- 12. Erzwingen der Codeausführung im Hauptthread
- 13. Synchrone XMLHttpRequest im Hauptthread ist veraltet
- 14. Wird onStop() im Hauptthread aufgerufen
- 15. std :: enable_shared_from_this: Ist es erlaubt, shared_from_this() im Destruktor aufzurufen?
- 16. Ist es in Ordnung, performSelectorOnMainThread aufzurufen: nachdem beginBackgroundTaskWithExpirationHandler aufgerufen wurde und die Anwendung im Hintergrund ist?
- 17. Ist dieses Gewinde sicher?
- 18. Ist es möglich, doInBackground von onPostExecute aufzurufen?
- 19. Meteor - Wie sicher ist es?
- 20. Ist es sicher, eval zu verwenden, um die Coffeescript-Klasse dynamisch aufzurufen? Diese
- 21. Ist es sicher, eine C-Funktion mit mehr Argumenten aufzurufen, als sie erwartet?
- 22. Senden von XML-Daten im versteckten Feld. Ist es sicher?
- 23. Konstruktorproblem delegieren - Ist es sicher?
- 24. Ist es nicht sicher, Accessormethoden in init- und dealloc-Methoden in Objective C aufzurufen?
- 25. Ist es sicher, eine statische synchronisierte Methode aus nicht verwandten Klassen aufzurufen?
- 26. Ist es sicher, Initialisierer mehrere Male auf dem gleichen "allokierten" Objekt aufzurufen?
- 27. Ist es sicher, SyncLock und MemoryBarrier aufzurufen, auch wenn Sie nicht in einem separaten Thread sind?
- 28. Ist es sicher, ReadAsString und dann ReadAsStream auf einem HttpClient-Response-Inhalt aufzurufen?
- 29. Ist es sicher, foreach auf leeren PHP-Arrays in PHP 5.4 aufzurufen?
- 30. Ist es sicher, bus.Publish von einem NServiceBus-Handler aufzurufen, wenn Sie den Verteiler verwenden?
Ja, es ist in Ordnung. – Enzokie