归档: 2023/8

关于Compose中的SideEffect

1、什么是Compsoe副作用根据官方文档https://developer.android.com/jetpack/compose/side-effects?hl=zh-cn 副作用是指发生在Composeable可组合函数作用域之外的应用状态的变化。由于可组合项的生命周期和属性(例如不可预测的重组、以不同顺序执行可组合项的重组或可以舍弃的重组),可组合项在理想情况下应该是无副作用的 但是很多时

Composable曝光和反曝光实现

1、Composable曝光和反曝光实现在Compose开发过程中,需要在进入退出重组以及View可见的场景进行@Composable的曝光和反曝光,进入退出重组的话可以通过LaunchedEffect和DisposableEffect来监听,那View可见的场景就得通过Lifecycle来实现了,如下所示,可以统一在DisposableEffect里面通过生命周期监听来处理: 123456789

MviComposeExtensions

1、MviComposeExtensions接上篇MVI架构实践:MVI架构实践 针对Compose场景进行扩展,方便在Compose里面使用MVI架构: 12345678910111213141516@Composablefun <VM : BaseMviViewModel<S, I>, S : MviUiState, I : MviUiIntent> VM.collec

MVI架构实践

为啥要用MVI架构为啥要从MVVM过渡到MVI,结合实际开发经验,个人总结以下几点: 1、从MVVM中的多个LiveData挨个观察改为一个State统一观察,当然如果我们需要观察State里面单独的某个字段,这个也是很方便做到的,下面的代码会讲到2、之前MVVM架构中,VM会开放很多方法给View调用;在MVI架构中,只有一个SendIntent入口,因此在一开始我们就可以把所有支持的的Int