xfy a4bd56a8a9 优化月→年视图切换性能(第二轮):延迟预组合 + 缓存提升
- 年视图 beyondViewportPageCount 动画完成后再恢复为 1,消除切换后 283ms onMeasure 阻塞
- MiniMonth 主题色提取到 YearGridView 级别 remember 缓存(72 次 → 1 次读取)
- TextMeasurer 从每 MiniMonth 独立实例改为 YearGridView 共享(12 个 → 1 个)
- 预测量 1-31 × 3 颜色的 TextLayoutResult(93 个缓存),消除 360+ 次 measure() 调用
- 12 个月的 generateMiniMonthDays 在 YearGridView 级别预计算并缓存
2026-05-18 17:05:43 +08:00
2026-05-16 15:15:27 +08:00
2026-05-15 10:12:15 +08:00

YaYa

基于 Kotlin Multiplatform 与 Compose Multiplatform 的日历应用Android 和 iOS 共享 UI。

月视图与周视图之间支持流畅的折叠/展开过渡——拖拽切换弹簧动画自动吸附。无限分页ISO 8601 周起始Material 3。

构建

# Android
./gradlew :androidApp:assembleDebug

# iOS — 在 Xcode 中打开 iosApp/ 运行

技术栈

  • Kotlin 2.3 · Compose Multiplatform 1.10 · Material 3
  • kotlinx-datetime 处理所有日期逻辑
  • 双模块::sharedUI + 逻辑)· :androidApp(薄壳)
Description
No description provided
Readme 12 MiB
Languages
Kotlin 77.3%
Shell 18.7%
PowerShell 4%