Quan utilitzar dispatchers.io?

Taula de continguts:

Quan utilitzar dispatchers.io?
Quan utilitzar dispatchers.io?
Anonim

Dispatchers. IO està dissenyat per ser utilitzat quan bloquegem fils amb operacions d'E/S més llargues. Per exemple, quan llegim fitxers, preferències compartides o trucades a funcions de bloqueig. Aquest despatxador també té un grup de fils, però és molt més gran. Es creen fils addicionals en aquest grup i es tanquen sota demanda.

Què és Dispatchers io?

Despatx. Principal: utilitzeu aquest despatxador per executar una rutina al fil principal d'Android. … Alguns exemples inclouen trucar a funcions de suspensió, executar operacions de marc d'interfície d'usuari d'Android i actualitzar objectes LiveData. Dispatchers. IO: aquest despatxador està optimitzat per realitzar E/S de disc o xarxa fora del fil principal.

Quan he d'utilitzar les corrutines?

Cas d'ús: les corrutines s'utilitzen sovint a la programació de jocs per a càlculs temporals. Per mantenir una velocitat de fotogrames constant en un joc, per exemple, 60 fps, teniu uns 16,6 ms per executar codi a cada fotograma. Això inclou simulació física, processament d'entrada, dibuix/pintura. Suposem que el vostre mètode s'executa a cada fotograma.

Per què s'utilitza la corrutina?

Coroutines és la solució recomanada per a la programació asíncrona a Android. … Suport de cancel·lació incorporat: la cancel·lació es genera automàticament mitjançant la jerarquia de corrutina en execució. Menys fuites de memòria: utilitza concurrència estructurada per executar operacions dins d'un abast.

Com feu servir les corrutines a l'activitat?

Semprellança corrutines a la capa d'interfície d'usuari de la teva aplicació (model de visualització, activitat o fragment) i vincula-les al seu cicle de vida utilitzant el CoroutineScope.

adequat ✅ Una millor solució

  1. ViewModel. Quan inicieu corrutines des d'un ViewModel, podeu utilitzar viewModelScope viewModelScope.launch { …
  2. Activitat. …
  3. Fragment. …
  4. Corrutines per a tota l'aplicació.

Recomanat: