总机 function: 读取文件: 我不确定我的代码是否好,因为我创建了 2 个协程。 第一个是使用 CoroutineScope (Dispatchers.IO),第二个是在 readfile 中使用 withContext。 最好的方法是什么? 使用协程读取文件 ...
总机 function: 读取文件: 我不确定我的代码是否好,因为我创建了 2 个协程。 第一个是使用 CoroutineScope (Dispatchers.IO),第二个是在 readfile 中使用 withContext。 最好的方法是什么? 使用协程读取文件 ...
我有以下内容,我正在尝试测试 class 启动协程并且该协程在线程中正确执行某些操作。 但是我认为对上下文/调度程序和 scope 的工作方式没有正确的理解,所以这没有按预期工作。 上面的测试实际上并没有运行协程完成,我不确定我错过了什么,所以任何帮助将不胜感激。 ...
最近我一直在详细学习协程,据我所知,如果协程的一个子进程由于某种原因被取消, SupervisorJob()给了我们不取消所有子进程的机会。 据说以 coroutineScope 启动的coroutineScope如果失败会取消所有子进程,但以supervisorScope启动的协程只会取消失败的 ...
我试图理解 Kotlin 中的coroutineScope() suspend function,我很难理解这个 function 的确切目的。 根据 kotlinlang 文档, 这个 function 是为并行分解工作而设计的。 当这个 scope 中的任何子协程失败时,这个 scope 失败 ...
我试图理解 Kotlin 中的结构化并发,但我无法理解这段代码。 代码打印 而如果我用launch替换内部scope.launch调用,就像这样 它打印 这表明第一个示例不遵循结构化并发,因为父作业在子作业之前完成。 我的困惑是,为什么会这样? 在这种情况下,我觉得scope.launch可能等同于 ...
这是一个极其简化的示例: 我想知道是否有更好的方法来解决这个问题。 同样,这是我所拥有的一个简化示例。 我意识到一个明显的替代方法是将 scope 从MyActivity给Foo - 我们只能说这在这种情况下不切实际。 有没有办法使用 Dagger 从当前Activity注入lifecycleSc ...
是否有可能获得传递的Application或Context的生命周期? 我需要使用协同程序运行后台服务,但我已经做了简单的 while(true),它不支持我的应用程序的生命周期。 ...
我有两个挂起函数,它们是 callbackFlow。 我从返回 String 的 suspend function 调用其中之一。 我想在 serializeEvent() function 中等待来自 getLocation() 的位置,并在获取值返回字符串之后。 从getLastKnownLo ...
我在我的 Android Compose 应用程序中引入了 DataStore,用于存储用户首选项。 虽然我对将 DataStore 实例保留为 Context 实例的属性不满意——因为只能从 @Composable 访问 Context(而不是在例如存储库中)——但我仍然坚持下去。 让我们假设( ...
我是协程的新手。 我正在尝试将它添加到我的项目中。 我也在使用 MVVM。 在文档中,我阅读viewModelScope.launch { } : 启动一个新的协程而不阻塞当前线程但同时,我也经常看到这样的代码结构: 如果文档说viewModelScope.launch { }会在不阻塞当前线程的 ...
所以我的问题是我们可以在协程的 scope 内更新任何变量的值(在协程的 scope 之外声明)吗? ...
I have a situation where I have a suspend function in which I want to call a webview and receive data in its shouldOverrideUrlLoading and continue th ...
我目前正在创建一个小部件,并且正在使用配置活动配置小部件并在 AppWidgetProvider 的 onUpdate() 上初始化小部件。 之后,CoroutineWorker 将不时更新小部件。 我已将 updatePeriodMillis 设置为 0。所以我的代码就是 所以我的问题是我可以用 ...
roomDb 通话可以取消吗? 即挂起函数必须使用yield()或检查isActive()才能对取消做出反应。 我正在尝试确定依赖一个小的(或相当大的)roomDb 事务更新到 go 是否安全,即使 viewModelScope 在事务完成之前被取消也是如此。 ...
我的 Kotlin 应用程序正在使用 Spring 公开一个应该在后台执行长任务的 API。 我们需要返回 IntelliJ 抱怨说使用 GlobalScope 是一种反模式。 但是,我不能只将挂起添加到控制器功能,否则它将不起作用。 我不能使用runBlocking或者该方法需要等到完成产生 ...
假设,我的 ViewModel class 在其构造函数中有一些 UseCase。 另一方面,这个 UseCase 在其构造函数中有一个 CoroutineScope。 我想使用 viewModelScope 作为参数。 我可以用 Hilt 做吗? 据我了解, ViewModelComponent ...
在 Coroutine Scope 上,为什么先调用 launch 块时先调用最后一个 println()? ...
我有一个CoroutineScope和log()函数的实例,如下所示: 我使用这个测试代码来启动协程: log()函数可以从任何地方、任何Thread调用,但不能从协程调用。 经过几次测试后,我看不到如下的连续结果: 打印日志的顺序可以不同。 如果我理解正确,协程的执行并不能保证是顺 ...
当我尝试从某个 api 获取信息时,我经常收到错误android.os.NetworkOnMainThreadException 。我知道这个问题与主线程 android 有关,但我不明白如何解决它 - 协程、异步 okhttp 或两个都? PS 我的英文不好,抱歉。 我的代码: 主要活动.kt ...