vivo X Fold5:商务高效新旗舰,折叠屏定义未来
|
跟人吵架——昨晚十一点半,vivo 那个对接人老张在群里甩过来一条语音,三十秒,我听三遍才听清后半句:“X Fold5 这版系统,商务高效新旗舰,折叠屏定义未来,你们适配文档里得把这句原样塞进启动页 splash 里的文案配置项。” 我手指悬在键盘上没动,机械键盘青轴咔嗒一声,敲出个空格。窗外洒水车又来了,滋啦滋啦地拖着水声从楼下拐过去,像台老式打印机卡纸前的预热。我原以为他指的只是 launcher 图标旁那个小字标语,结果他紧接着补了句“不是 banner,是 splash.json 里 type=‘brand_slogan’ 的 value 字段”,还截了图——截图里字段名拼错了,写成 brand_slogon。我敢打包票,那个 typo 是他们内部工具生成的模板 bug,不是我们改的。 测试机堆在窗台,三台 X Fold5 全朝南,下午三点开始晒,现在摸上去外壳发烫,边框烫手。我伸手去拿最左边那台,指尖刚碰上铝镁合金边框,屏幕自动亮了——不是唤醒,是热感应误触发。它自己弹出个悬浮窗口:“检测到设备温度偏高,建议暂停多任务操作”。可它根本没在跑多任务。我连 adb shell 都没连,就搁那儿晒着。这玩意儿连“静置”都算不清状态。 楼下便利店关东煮的味儿顺着窗缝钻上来,萝卜块炖得发酸那种甜腻。我一边扒拉泡面一边点开那版系统的 system/app/DisplayEngineService,想看看 thermal policy 怎么写的。结果发现他们把折叠屏的 hinge 角度 sensor 和电池温感混在同一个 hal 层里做了 fuse 逻辑:角度变化 >15° 且温升 >2℃/s 就强制降频 GPU。问题来了——我们有个后台保活服务要每十八秒扫一次传感器上报状态,而 fold 动作哪怕只是翻盖取卡,也会被算作 hinge event。所以只要用户顺手开合一下手机,GPU 马上掉到 300MHz,我们那个做 PDF 渲染预览的 native lib 直接卡帧,预览缩略图花三秒才画完第一帧。这不是性能差,是它把“物理动作”当成了“用户主动发起负载”。 外包同事阿哲蹲在我工位旁啃鸡腿,油蹭到调试日志打印纸上。他说:“你调 thermal 那块干嘛?不就 splash 文案吗?”我说对啊,就文案。可 splash 启动时,DisplayEngineService 会顺便刷一帧 overlay layer 做字体抗锯齿优化,而这帧优化必须等 thermal hal 返回 ready 状态才走后续流程。ready 不回来,splash 就卡在白屏——不是黑,是灰白,带点蓝调,像旧CRT显示器待机色。昨天测了七次,三次卡住,四次正常。我说不准是不是和那天早上 OTA 推送的 kernel 补丁有关,但我知道它卡的时候,Logcat 里一定飘过一句 “thermal: skip fuse check due to timeout”。timeout 是三百七十二毫秒。这个数我敢打包票,截了屏存了三份。 我删掉自己写的 splash 配置模板,重新 clone 官方 SDK 示例工程,解压进 Android Studio,等编译。进度条走到 67% 时,机械键盘右下角 Caps Lock 灯自己灭了,又自己亮了。我没碰键盘。测试妹子小雨推门进来,胳膊底下夹着五台折叠机,说:“X Fold5 折叠态下,Notification Shade 拉下来第三格快捷开关图标错位,icon 大小缩放系数不对,但是只在横屏锁屏状态下复现。”她把最上面那台放我桌上,屏保是 PPT 模板图,标题写着“商务高效新旗舰”。我盯着那几个字看了八秒,没说话。她转身出门时撞了一下门框,发出闷响。
产品概念图,仅供参考 后来我才发现,他们那版系统里,所有带“折叠”语义的字符串资源,都藏在 values-zh-rCN-fold/ 里面,而不是 values-zh-rCN/。不是覆盖,是独立目录。但我们用的 aapt2 版本比他们编译链低一个 patch,不识别这个 qualifier。于是 splash.json 里读到的 slogan,永远 fallback 到 values-en-rUS/ 里的英文。所以你看到“vivo X Fold5:Business Efficiency New Flagship…”那段,不是翻译问题,是 aapt2 根本没去找中文 fold 目录——它压根不知道有这目录。我们打包时 log 里其实有一行 warn:“Unknown qualifier: fold”,但我们全队没人看 warn。因为 warn 太多了,每天两百条起,其中一百四十条是厂商自研 framework 里 hardcode 的 null pointer exception 预判拦截,写了注释说“此处必 crash,故提前 warn 以示存在感”。现在那台晒发烫的 X Fold5 还在窗台,屏幕又自己亮了一次,这次弹的是系统更新提示,小字写着“本次更新优化折叠交互响应速度”。我点“稍后提醒”,它顿了两秒,弹出第二层对话框:“您确定要忽略此更新吗?(折叠屏专用通道)”。我点了确定。它没关。它把第二层对话框平移了三像素,移到右上角去了。像有人用手轻轻推了一下。 优胜劣汰?对。但这汰的不是竞品,是还信“适配就是改几行 XML”的人。我现在要把 splash.json 改成 type=‘brand_slogan’,value=‘vivo X Fold5:商务高效新旗舰,折叠屏定义未来’,然后打个包。明天上午十点前传给老张。至于它到底显不显示,显在哪台机器上,显几秒,显完要不要触发 thermal fuse,显的时候用户有没有正掰着屏幕……我说不准。 先传吧。泡面汤凉透了,我把面饼捞出来嚼了两口。关东煮的味儿淡了。我伸手又摸了下窗台上的机器,还是烫。但这次我没缩手。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

