docs(plans): 留痕 K52 原生开屏清理
This commit is contained in:
1 parent
7fc5eb9067
commit
a38809cc5d
2 files changed
+51
-18
No files matched your search
+13
-18
@@ -1,25 +1,20 @@
|
||||
## [已处理] 2026-10-20 | K51-A 修复首页进入详情页闪屏/灰屏(仅 App 端)
|
||||
## [已处理] 2026-10-20 | K52-A 去掉原生静态开屏,直接进入带动画的开屏页(仅 App 端)
|
||||
|
||||
**用户指令(2026-10-20,原文)**:
|
||||
> 「从首页进短剧详情页会闪屏 灰屏看下什么问题」
|
||||
> 「原生的开屏也就不要了 直接显示带动画效果的开屏页即可」
|
||||
|
||||
**根因(已定位)**
|
||||
`PlayerLogic.openDetail()` 在 push 详情页之前先执行:
|
||||
1. `session.setRouteVisible(false)` —— 视频层被隐藏/降级为未就绪状态,feed 只能渲染封面占位;
|
||||
2. `await session.playbackSettled` —— 等待期间首页仍可见;
|
||||
此时封面若尚未进图片缓存,`RemoteImage` 会先画浅色底,叠加遮罩后呈灰白 → 用户看到的就是进详情前的灰屏闪一下;随后 `saveCurrentProgress` 再等待一次,进一步放大该可见窗口。
|
||||
|
||||
**口径(只改 Flutter,不动后端、不改接口)**
|
||||
1. `openDetail()` 改为先 push 路由(视频组件保持挂载,不再 `setRouteVisible(false)`、不再 `await playbackSettled` 后再 push):
|
||||
- push 之前 `session.setOverlayOpen(true)`,路由返回后 `session.setOverlayOpen(false)`(复用评论面板的暂停/恢复方式,保证详情页覆盖期间不继续外放声音);
|
||||
- 路由期间视频正常暂停,返回后回到原播放状态与进度,不重新 seek。
|
||||
- `saveCurrentProgress()` 放到 push 返回之后(不阻塞首帧)。
|
||||
2. 首页 feed 的「标题点击进详情」「系列信息点击进详情」走同一逻辑,确保都不闪。
|
||||
3. 详情页自身加载态保持 ink 背景 + 现有骨架,不改。
|
||||
**口径(只改 Flutter / 原生启动资源,不动后端、不改接口)**
|
||||
1. Android 原生开屏只保留纯色底:
|
||||
- `android/app/src/main/res/drawable/launch_background.xml`、`drawable-v21/launch_background.xml`、`drawable-v31/launch_background.xml` 全部改为仅 `@color/splash_background`(去掉 bitmap / splash_icon 图层);
|
||||
- `values-v31/styles.xml` 与 `values-night-v31/styles.xml`:`windowSplashScreenAnimatedIcon` 改为透明 drawable(新增 `drawable/splash_transparent.xml`,`<shape><solid android:color="@android:color/transparent"/></shape>`),移除 `windowSplashScreenIconBackgroundColor`;
|
||||
- `splash_background` 保持 `#100C0A`,与 Flutter 动画开屏背景一致,避免色差。
|
||||
2. iOS 原生开屏去掉静态图:
|
||||
- `ios/Runner/Base.lproj/LaunchScreen.storyboard` 删除 `LaunchImage` imageView 及其 constraints,仅保留深色背景(现 rgb 0.0627/0.0470/0.0392)。
|
||||
3. Flutter 动画开屏页保持 K50-A 的动画(logo 放大淡入 → FruitShorts → 水果短剧 → 转圈),作为用户看到的第一个画面;原生只做纯色过渡。
|
||||
4. 不再引用 `drawable-*/splash_icon.png` 与 iOS `LaunchImage`(文件可保留,但不得出现在启动界面)。
|
||||
|
||||
**测试/门禁**
|
||||
- 新增:从 feed 点详情后,push 前后视频 port 保持挂载(可断言 `session.active` 不变)、路由返回后播放状态与进度不变;
|
||||
- 不再出现 `setRouteVisible(false)` 造成的占位渲染;
|
||||
- 静态检查:三个 `launch_background.xml` 不再包含 bitmap;v31 styles 不含 `windowSplashScreenIconBackgroundColor`;LaunchScreen.storyboard 不含 `LaunchImage`;
|
||||
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
|
||||
|
||||
**流程**:从 `develop` 拉 `fix/flutter-k51-detail-flash`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
|
||||
**流程**:从 `develop` 拉 `feature/flutter-k52-native-splash-clean`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行(冷启动应看到纯深色 → Flutter 动画开屏)。
|
||||
@@ -21822,6 +21822,44 @@ Running Gradle task 'assembleDebug'...
|
||||
|
||||
解读:清理旧构建与 asset 缓存后,静态检查零告警,458 条测试全部通过,debug APK 从零重新构建成功。新版桌面图标与开屏 logo 的真机视觉效果由用户安装验收。
|
||||
|
||||
## 2026-10-20 ReelShort:K52-A 清理原生静态开屏
|
||||
|
||||
- 前置状态:K51-A 合并提交 `375b013`;图标资源最终合并 `fcf30ff`;开屏 logo 强化合并 `53591ab`,均已推送到 develop。
|
||||
- 分支:`feature/flutter-k52-native-splash-clean`
|
||||
- 功能提交:`fe5b6e6 feat(flutter): 移除原生静态开屏`
|
||||
- develop 合并提交:`a11ba50 merge: 合并 K52 原生开屏清理`,已推送。
|
||||
- Android 三个 `launch_background.xml` 仅保留 `@color/splash_background`,删除 `splash_icon` bitmap 图层;`splash_background` 继续为 `#FF100C0A`。
|
||||
- 新增透明 `drawable/splash_transparent.xml`,`values-v31` 与 `values-night-v31` 的系统开屏图标均指向该 drawable,并删除 `windowSplashScreenIconBackgroundColor`。
|
||||
- iOS `LaunchScreen.storyboard` 删除 `LaunchImage` imageView、相关 constraints 与图片资源声明,仅保留现有深色背景;LaunchImage 文件仍保留但不再出现在启动界面。
|
||||
- Flutter 动画开屏继续作为原生纯色过渡后的第一个品牌画面。
|
||||
|
||||
静态检查:
|
||||
|
||||
```text
|
||||
三个 launch_background.xml:无 bitmap / splash_icon
|
||||
values-v31 与 values-night-v31:无 windowSplashScreenIconBackgroundColor
|
||||
LaunchScreen.storyboard:无 LaunchImage
|
||||
xmllint --noout:全部通过
|
||||
```
|
||||
|
||||
门禁原始输出:
|
||||
|
||||
```text
|
||||
$ dart analyze lib test
|
||||
Analyzing lib, test...
|
||||
No issues found!
|
||||
|
||||
$ flutter test
|
||||
00:47 +458: All tests passed!
|
||||
|
||||
$ flutter build apk --debug
|
||||
Running Gradle task 'assembleDebug'...
|
||||
5.7s
|
||||
✓ Built build/app/outputs/flutter-apk/app-debug.apk
|
||||
```
|
||||
|
||||
解读:静态检查零告警,458 条测试全部通过,debug APK 构建成功。冷启动应从深色原生底直接过渡到 Flutter 动画开屏,最终效果由用户真机验收。
|
||||
|
||||
## 2026-10-20 ReelShort:详情页顶部圆形按钮统一修正
|
||||
|
||||
- 前置状态:K40-B 评论入口登录闸已合并,合并提交 `230f16a`。
|
||||
|
||||
Reference in new issue
Block a user