WorkManager中的线程处理英语启蒙用哪套教材好

作者: 小王 Wed Nov 29 03:37:19 SGT 2023
阅读(92)
在入门中,我们提到WorkManager可以代表您异步执行后台工作。该基本实现可满足大多数应用的需求。关于更高级的用例(例如正确处理正在停止的工作),您应了解WorkManager中的线程处理和并发机制。对于Kotlin用户,WorkManager为协程提供了一流的支持。如要开始使用,请将work-runtime-ktx包含到您的gradle文件中。不要扩展Worker,而应扩展CoroutineWorker,后者包含doWork()的挂起版本。例如,如果要构建一个简单的CoroutineWorker来执行某些网络操作,您需要执行以下操作:https://developer.android.com/topic/libraries/architecture/workmanager/advanced/coroutineworker?hl=zh-cnclassCoroutineDownloadWorker(context:Context,params:WorkerParameters):CoroutineWorker(context,params){overridesuspendfundoWork():Result{withContext(Dispatchers.IO){valdata=downloadSynchronously("https://www.google.com")saveData(data)returnResult.success()}}}CoroutineWorker.doWork()是一个“挂起”函数。CoroutineWorker通过取消协程并传播取消信号来自动处理停工情况。您无需执行任何特殊操作来处理停工情况。