Kotlin Multiplatform Academy · leksjon

Dispatchere på tvers av plattformer

Velg dispatchere som finnes på Android og iOS

Leksjon 2 av 413 trinn

Dispatchere på tvers av plattformer er en gratis leksjon i Kotlin Multiplatform Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Kotlin Multiplatform Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Kotlin Multiplatform Academy inneholder totalt 4 leksjoner.

Hvor arbeidet faktisk kjører

En coroutine kjører fortsatt på en tråd. En dispatcher avgjør hvilken tråd eller trådpool den bruker, og dette valget er viktig på hver plattform.

Møt Dispatchers.Default

Bruk Dispatchers.Default til CPU-tungt arbeid som analysering eller sortering. Den finnes på både Android og iOS, så delt kode kan stole på den.

withContext(Dispatchers.Default) { sort(data) }

Dispatchers.Main for brukergrensesnittet

Dispatchers.Main kjører på plattformens tråd for brukergrensesnittet. Den er tilgjengelig i felles kode, men skjermer skal bare oppdateres herfra.

withContext(Dispatchers.Main) { render(state) }

Avstanden til IO-dispatcheren

Vær oppmerksom: Dispatchers.IO finnes på JVM og Android, men ikke i vanlig felles kode på alle mål. Ikke anta at den finnes overalt.

Hold Dem på trygg, felles grunn

For portabel, delt logikk bør De foretrekke Default og Main. De er garantert på målene som KMP vanligvis støtter.

Bytt med withContext

De flytter arbeid mellom tråder ved hjelp av withContext. Beregn på Default, og gå deretter over til Main for å publisere resultatet – alt i én funksjon.

val r = withContext(Dispatchers.Default) { heavy() }

Dispatchere kan byttes ut

En dispatcher er bare et CoroutineContext-element. De kan sende inn en, noe som gjør delt kode enkel å konfigurere og teste.

class Loader(val io: CoroutineDispatcher)

Injiser for testbarhet

Ved å sende inn dispatcheren kan tester bytte den ut med en deterministisk variant. Hvis den hardkodes, blir det vanskeligere å teste delt asynkron logikk. 🧪

iOS kjører dem også

På iOS kobles disse dispatcherene automatisk til de riktige native køene. Den delte koden trenger ikke å kjenne til detaljer om GCD.

Ett valg, begge plattformer

Fordi dispatcher-navnene er felles, planlegger den samme linjen arbeidet riktig på Android og iOS. Ingen plattformavgreninger i logikken. ✨

Velg riktig verktøy

En tommelfingerregel: Default for beregninger, Main for UI-oppdateringer, og injiser alt som ligner på IO, slik at det forblir portabelt. 🎯

Rask sjekk

Velg dispatcher-alternativet som er tryggest for delt KMP-kode.

Oppsummering

Du har lært å velge dispatchere med omhu: Default for beregninger, Main for UI og injiser IO-lignende dispatchere siden de ikke finnes på alle målplattformer. 🎉

Gratis å komme i gang

Lær deg Kotlin med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Dispatchere på tvers av plattformer» gratis?

Ja – hele teksten i «Dispatchere på tvers av plattformer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Kotlin Multiplatform Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Kotlin Multiplatform Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Dispatchere på tvers av plattformer»?

Velg dispatchere som finnes på Android og iOS Du øver på Kotlin Multiplatform Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Kotlin Multiplatform Academy?

Ingen tidligere erfaring er nødvendig. Kotlin Multiplatform Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Dispatchere på tvers av plattformer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Kotlin Multiplatform Academy-leksjonen?

Ja. Alle Kotlin Multiplatform Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. suspend-funksjoner som fungerer overalt
  2. Dispatchere på tvers av plattformer
  3. CoroutineScope og livssyklus
  4. withContext og strukturert samtidighet
← Tilbake til Kotlin Multiplatform Academy