Native
WorkRunners
Common Native
For all native targets, there are WorkRunner
implementations backed by Kotlin's
Worker APIs.
// Create a WorkRunner backed by a new Worker instance
val workRunner = WorkRunners.nativeWorker()
// Optional: Provide details for the new Worker instance
val workRunner = WorkRunners.nativeWorker(
name = "Worker-1",
errorReporting = true,
)
// Alternatively, use an existing Worker Instance
val workRunner = WorkRunners.nativeWorker(myWorkerInstance)
Apple
For Apple targets, the DispatchQueueWorkRunner
backed by dispatch_queue
is available.
val globalWorkRunner = DispatchQueueWorkRunner.global()
val mainWorkRunner = DispatchQueueWorkRunner.main()
val customWorkRuner = WorkRunners.fromDispatchQueue(myDispatchQueue)
Memory Manager Support
Since Kotlin 1.7.20 enabled the new memory manager by default, Mobius.kt has been updated to support it. The last Mobius.kt version supporting the old memory manager is v1.0.0-rc01.