腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在
ViewModel
中
收
集流
。
是否
需要
repeatOnLifeCycle
?
、
、
到目前为止,我习惯于
在
activity/fragment或
ViewModel
中
收
集流
,如下所示 活动/片段 lifecycleScope.launch { }
ViewModel
viewModelScope.launch { prefsRepo.
浏览 44
提问于2021-11-16
得票数 4
回答已采纳
1
回答
为什么当我使用从UI直接从Jetpack撰写的启动收集一个流时,App不会崩溃呢?
、
警告:如果UI
需要
更新,千万不要从UI直接从启动或launchIn扩展函数收
集流
。即使视图不可见,这些函数也会处理事件。这种行为可能导致应用程序崩溃。为了避免这种情况,请使用上面所示的
repeatOnLifecycle
API。 dataInfo.collect { my=dataInfo.value }} class HandleMeter:
浏览 2
提问于2022-02-14
得票数 0
回答已采纳
2
回答
用
repeatOnLifeCycle
从UI
中
的流
中
收集数据
、
、
、
但是,我发现您
需要
编写大量的样板代码才能从UI
中
的Flow中观察到。
在
中
,它说 ...为什么
在
浏览 6
提问于2021-07-07
得票数 3
1
回答
恢复由状态流持有的视图状态
、
、
、
假设我们有一个简单的片段,其中包含一个基于视图模型
中
StateFlow
中
的UI状态的视图。
在
onCreate()上,我们像通常一样收集状态: lifecycleScope.launchWhenStarted {
viewModel
.uiState.collect {
在
新片段上,我们弹出回堆栈,现在令人惊讶:前一个片段正在重新创建初始状态的视图,即使我们试图更新状态
浏览 5
提问于2021-09-30
得票数 2
回答已采纳
1
回答
安卓onResume()、onStart()和lifecycleScope的不同之处
、
class TestViewModel:
Viewmodel
() { ....}
repeatOnLifecycle
(Lifecycle.State.STARTED
浏览 10
提问于2022-09-11
得票数 0
回答已采纳
1
回答
Coroutine StateFlow.collect{}不发射
、
、
我的
ViewModel
中有一个简单的
ViewModel
,它不是
在
片段
中
收集的。crossinline block: suspend CoroutineScope.() -> Unit viewLifecycleOwner.lifecycleScope.launch {
repeatOnLifecycle
浏览 8
提问于2022-06-01
得票数 0
回答已采纳
3
回答
如何安全地(生命周期感知) .collectAsState() StateFlow?
、
、
、
、
根据这些文章,我试图遵循从LiveData迁移到Flow/StateFlow的正式指导方针: 我正在尝试遵循第一篇文章
中
推荐的内容,即Jetpack
中
的安全流集合
中
的Jetpack部分。
在
撰写
中
,副作用必须在受控环境
中
执行。为此,使用LaunchedEffect创建一个符合可组合生命周期的协同线。
在
它的块
中
,如果在主机生命周期处于特定状态时
需要
它重新启动代码块,则可以调用挂起Lifecycle.
repeatOnL
浏览 7
提问于2022-01-09
得票数 8
回答已采纳
1
回答
Kotlin SharedFlow
ViewModel
在
订阅前发出
、
、
在
片段类
中
: } } } private的情况下,
viewmodel
.init()
在
范围内的用户连接到流之前就启动了--这会导致一
浏览 9
提问于2022-04-26
得票数 1
回答已采纳
1
回答
为什么`lifecycleScope.launch`
中
耗时的操作会阻塞UI线程?
、
、
、
、
我从数据库
中
读取页面列表并在RecyclerView上显示。ChapterListFragment的过程
中
,存在着很短的滞后性,这显然是卡住了。我认为这是由于
在
viewModel
.getChapters方法
中
读取数据库的操作造成的,但我是
在
协同中进行的,我不明白为什么仍然存在延迟。我最初的理解是,
在
lifecycleScope.launch
中
执行的代码不会阻塞当前的UI线程,但现在看来并非如此。 2.如何正确刷新列表?然后
在
主线程(U
浏览 5
提问于2022-06-26
得票数 0
1
回答
如何检查可组合
是否
位于后端堆栈的顶部?
、
、
、
、
这两个目的地共享一个公共的
ViewModel
,其作用域为该导航图。在这个
ViewModel
中
,我公开了一个Flow<MyEvent>,其中MyEvent是:object MyEvent1: MyEvent object问题是,当MyBottomSheet是可见的时,两个可组合性同时收
集流
,因为Event2也是由HomeScreen收集的。我想要的是,当MyBottomSheet是后端堆栈中最顶层的目标时,HomeScreen不应该收
集流
。ha
浏览 4
提问于2022-07-10
得票数 0
回答已采纳
1
回答
使用setupWithNavController:2.5.0-alpha 01每次调用OnViewCreated
、
、
、
为了处理选项卡栏导航,请调用以下代码 在上一个版本之前,我
在
使用setupWithNavController()时保存每个片段的状态时遇到了很大的问题,但是由于最新版本的导航API(>=:2.4.0),它支持多个back堆栈,而且我可以轻松地
在
选项卡之间导航,而无需担心再次加载所有数据例如,OnViewCreated是一个使用
repeatOnLifeCycle
收
集流
的地方,而O
浏览 22
提问于2022-02-22
得票数 5
1
回答
我应该选择从
ViewModel
收
集流
还是直接组合收
集流
、
代码A
在
ViewModel
,
中
收
集流
,并使用MutableStateFlow将流转换为热流,然后使用collectAsState()编写。代码B在编写过程
中
收
集流
程,直接使用collectAsState编写。@Composable
viewModel
:
浏览 3
提问于2022-04-18
得票数 0
回答已采纳
2
回答
基于viewModelScope的Kotlin协同测试流程采集
、
我想测试一个收
集流
的
ViewModel
方法。
在
收集器内部,一个LiveData对象会发生变异,我想在最后检查它。这大致是设置的样子:val f = flow { emit("Test") }.flowOn(Dispatchers.IO) } f.collect {
浏览 0
提问于2019-09-26
得票数 10
回答已采纳
1
回答
是否
需要
在@Composable
中
扭曲热流的collectAsState()和
repeatOnLifecycle
?
、
)的运算符收集现有API(如CoroutineScope.launch、Flow.launchIn或LifecycleCoroutineScope.launchWhenX )是不安全的,除非您手动取消
在
活动转到后台时启动协同线的作业这些API将使底层流生成器保持活动状态,同时将项发送到后台的缓冲区
中
,从而浪费资源。 代码A来自官方样本。我不知道热流的collectAsState()操作
在
@Composable UI
中
是否
安全。1:我
是否
需要
像使用代码B或代码C一样使用代
浏览 11
提问于2022-02-24
得票数 3
回答已采纳
1
回答
可以将流从一个可组合组件传递到另一个可组合组件吗?
、
、
我
在
一个顶层的composable中注入了那个
viewModel
,但我想将事件发送到另一个composable (
在
顶层的composable
中
)。如下所示:fun MainScreen(
viewModel
: MyViewModel) { /events.collect {
浏览 4
提问于2021-11-09
得票数 3
2
回答
可以用多个收集器收集的Kotlin流(或类似的东西)
、
我不想故意使用LiveData,因为它
需要
知道生命周期。我可以使用什么来实现“一个输入-多个输出”。
浏览 3
提问于2020-08-13
得票数 1
2
回答
如何在Android
中
收集多个状态流
、
、
、
如何收集活动
中
的两种状态流?因为我只有第一次消耗的流量。例如,内部视图模型如下所示: private val state = MutableStateFlow<HomeMainFragmentStatefun observe(){ viewLifecycleOwner.lifecycle.
repeatOnLifecycle
viewMode
浏览 0
提问于2021-05-25
得票数 10
回答已采纳
1
回答
为什么sharedFlow收集不执行这一行?
、
、
、
、
我
在
sharedFlow
中
定义了一个MainViewModel,如 val _sharedFlow: MutableSharedFlow()}lifecycleScope.launch {
viewModel</em
浏览 6
提问于2022-06-14
得票数 0
回答已采纳
2
回答
防止StateFlow从另一个活动返回后的重放
、
、
、
我有一个活动A,它是
ViewModel
和StateFlow UI状态实现,正如中所说的 private val _uiStateuiState.value = UIState.NavigateToB} }
浏览 13
提问于2022-03-29
得票数 1
2
回答
如何在应用最小化时暂停/停止收集/发送流
中
的数据?
、
、
、
我有一个
在
循环中返回流的UseCase和远程存储库,我
在
ViewModel
中
收集UseCase的结果如下: useCase.updatePeriodically那么,我可以
在
应用程序处于后台时暂停它,并在应用程序返回前台时恢复它吗? 而且,我也不想观察视图中的数据(片段或活动)。
浏览 6
提问于2021-05-30
得票数 2
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
企业在促销活动中,赠送的礼品,是否需要代扣代缴个人所得税
MVVM设计模式在Android编程中的应用
iOS架构:MVVM设计模式+RAC响应式编程
web前端Vue学习MVVM的优缺点
Android Architecture Components 只看这一篇就够了
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券