容器一直 Restarting 且日志为空时,按「看 exit code → 查权限 → 查 entrypoint → 查依赖」四步走。含 exit code 对照表、日志为空的四种原因(含配置文件权限 644 坑)、compose healthcheck 与 start_period 的正确配置。
协程是一段可以挂起的工作,Flow 描述多次产生的值。谁创建作用域,谁就承担取消与生命周期责任。
导航状态决定当前页面与返回路径。参数传 ID,页面根据 ID 读取数据,可避免序列化整个对象与同步过期副本。
Go 的框架生态和前几年不一样了:net/http 在 1.22 之后支持了路径参数与方法匹配,很多原来必须上框架的场景现在不必了。本文先分清 HTTP 路由框架、微服务框架与标准库三类东西,再逐个说明 Gin、Echo、Fiber、Chi、go-zero、Kratos 的定位与代价,最后给出不确定时直接选 Gin 的兜底建议。
布局先接收父级约束,再测量孩子并放置。Modifier 的顺序会改变测量和点击范围,不能当成无顺序的样式字典。
remember 负责保留值,mutableStateOf 负责被观察的读写。重组重复计算界面描述,不应该在计算过程中发请求或改业务数据。
Compose 代码常混合 lambda、命名参数和属性委托。先识别“传入一个函数”与“立即调用函数”,再看界面代码。
Activity 是系统入口,setContent 建立 Compose 界面内容。Composable 描述界面,Preview 帮助预览但不能代替真实生命周期。
Android Studio、JDK、Gradle 和 Android SDK 分别负责编辑、运行构建工具、执行构建和提供平台 API。版本错误要先定位层次。
表单同时管理输入值、是否触碰、校验结果与提交状态。显示错误的时机与校验规则是两个决定。