Kotlin 语言基础与空安全
空指针异常是 Android 线上崩溃的头号来源,Kotlin 的空安全正是为此设计。本文梳理 Kotlin 2.x 的语言基础与空安全机制:从变量声明与类型推断、可空类型与平台类型的区别,到安全调用、Elvis 运算符与 let 组成的调用链,再到智能转换、密封类穷尽分支、数据类与拷贝,以及同 Java 互操作时的空安全边界。文中给出写法对照表与常见坑清单,帮你把空指针异常挡在编译期。
tag
空指针异常是 Android 线上崩溃的头号来源,Kotlin 的空安全正是为此设计。本文梳理 Kotlin 2.x 的语言基础与空安全机制:从变量声明与类型推断、可空类型与平台类型的区别,到安全调用、Elvis 运算符与 let 组成的调用链,再到智能转换、密封类穷尽分支、数据类与拷贝,以及同 Java 互操作时的空安全边界。文中给出写法对照表与常见坑清单,帮你把空指针异常挡在编译期。
Kotlin 已成为 Android 官方首选语言,配合 Jetpack Compose、协程与 Hilt 构成了现代 Android 开发的标准组合。本专题覆盖从语言到上架的完整链路:Kotlin 空安全与语言基础、扩展函数与高阶函数、协程与结构化并发、Jetpack Compose 声明式 UI、Compose 状态管理与重组优化、Activity/Fragment 生命周期与 ViewModel、Room 数据持久化、Retrofit 网络层、Hilt 依赖注入、多模块架构与 Gradle 构建优化、启动加速与性能调优,以及 AAB 打包签名与 Google Play 上架流程。后续补充的 6 篇进阶内容进一步覆盖 Compose Navigation 与深链、Kotlin Flow 响应式数据流、WorkManager 后台调度、单元测试与 Espresso/Compose 测试体系、R8 混淆与 Baseline Profile,以及 Kotlin Multiplatform 跨平台共享。
系统讲解 Defold Native Extensions:ext.manifest 结构、C/C++ 绑定 Lua API 的方式、ext 目录组织规范、消息桥接 Lua↔C、第三方库集成、平台差异处理(iOS/Android/HTML5)与 SDK 构建流程。
完整讲解 Defold 跨平台发布流程:iOS/Android/Web/桌面打包与签名、game.project 平台配置、App Store/Google Play 上架要点及性能与包体优化。
深入讲解移动端持续交付(Mobile CD)工程化:移动端发布的特殊性、CI 构建矩阵(iOS/Android)、签名与证书管理、测试分发与内测、应用商店发布、灰度与全量、回滚与紧急修复(热修)、移动端质量门禁,以及移动端发布的避坑。
深度解析移动端在 GitHub Actions 上的完整 CI/CD 流水线,涵盖 Flutter 测试构建与缓存、iOS 证书与描述文件管理(fastlane match)、Android 签名(keystore 加密)、设备矩阵(emulator/real device)、代码签名安全,以及 App Store/Play 的自动发布流程。
Flutter 跨平台原生交互全解:MethodChannel、EventChannel、BasicMessageChannel、FFI、Pigeon 代码生成,以及自定义插件开发。
分屏不是一次普通 resize Android 分屏和多窗口模式看起来像普通窗口尺寸变化,实际对游戏客户端更像一次小型环境切换。屏幕比例会突然变窄或变矮,系统栏占用区域变化,触摸坐标重新映射,软键盘可能挤压可用区域,游戏相机的视野和 UI 安全区都要重新计算。只把按钮锚点改成自适应,通常不够。
背景:本地通知调度为什么会变成真实问题 运营想加本地通知:体力满了提醒、建造完成提醒、每日奖励提醒、活动结束前提醒。需求听起来简单,移动端插件也能发通知。但第一次测试就暴露了问题:玩家关闭活动后仍收到活动提醒;体力已经被服务器补满又消耗,通知时间不准;同一天收到了三条类似文案;Android 13 没授权时没有任...