Dispatchers. IO è progettato per essere utilizzato quando blocchiamo i thread con operazioni di I/O più lunghe. Ad esempio, quando leggiamo file, preferenze condivise o chiamiamo funzioni di blocco. Questo dispatcher ha anche un pool di thread, ma è molto più grande. Thread aggiuntivi in questo pool vengono creati e chiusi su richiesta.
Cos'è Dispatchers io?
Spedizionieri. Main: usa questo dispatcher per eseguire una coroutine sul thread principale di Android. … Gli esempi includono la chiamata di funzioni di sospensione, l'esecuzione di operazioni del framework dell'interfaccia utente Android e l'aggiornamento di oggetti LiveData. Dispatchers. IO - Questo dispatcher è ottimizzato per eseguire I/O su disco o rete al di fuori del thread principale.
Quando dovrei usare le coroutine?
Caso d'uso: le coroutine sono spesso usate nella programmazione di giochi per effettuare calcoli in sezioni temporali. Per mantenere una frequenza fotogrammi costante in un gioco, ad esempio 60 fps, hai circa 16,6 ms per eseguire codice in ogni fotogramma. Ciò include la simulazione fisica, l'elaborazione degli input, il disegno/pittura. Diciamo che il tuo metodo viene eseguito in ogni frame.
Perché si usa la coroutine?
Coroutines è la soluzione consigliata per la programmazione asincrona su Android. … Supporto per l'annullamento integrato: l'annullamento viene generato automaticamente tramite la gerarchia di coroutine in esecuzione. Meno perdite di memoria: utilizza la concorrenza strutturata per eseguire operazioni all'interno di un ambito.
Come usi le coroutine nell'attività?
Sempreavvia le coroutine sul livello dell'interfaccia utente della tua app (ViewModel, Activity o Fragment) e collegale al relativo ciclo di vita utilizzando l'appropriato CoroutineScope.
✅ Una soluzione migliore
- ViewModel. Quando avvii coroutine da un ViewModel puoi usare viewModelScope viewModelScope.launch { …
- Attività. …
- Frammento. …
- Coroutine a livello di app.