声明式 UI 架构下的生命周期演进:从内建属性到显式订阅
消失的“实体”: 从View到Composable/Widget
阅读更多在原生Android开发的世界, 创建模版项目后就会得到一个MainActivity和activity_main.xml.
我们习惯了在MainActivity里去绑定Button和Text再设置各种属性. 他们都是内存中看得见,摸得着的View.
但是到了Flutter中, 得到的了却是main()函数和一堆StatelessWidget和StatefulWidget.
不仅仅是Flutter, 连Jetpack Compose也在向这种’声明式UI’靠拢.
Compose中同样找不到onResume(入口Activity除外),取而代之的而是层层嵌套的Composable函数
这种转变本质上是:我们不再持有 UI 的“句柄”,我们只持有“数据”。
正因为我们持有的只是数据,而数据本身是没有‘前后台’概念的(一个 String 字符串哪里知道自己是否在前台?)。所以,在声明式 UI 中寻找 onResume 本身就是一个伪命题。
只有当数据需要根据系统状态(如用户回来了)进行刷新时,我们才去主动询问系统。


