小米MIX Flip 2深度评测:折叠新机实力全解析
|
亲历现场。那天凌晨三点十七分,我盯着编译日志最后一行“BUILD SUCCESSFUL”——结果小米对接人老陈的钉钉消息弹出来:“系统侧临时加个状态栏折叠态图标重绘逻辑,今天下午三点前合进主干”。我手抖把咖啡泼在机械键盘上,Caps Lock灯亮着,敲出的全是大写,嗒、嗒、嗒,像倒计时。 测试机堆在窗台那排,三台MIX Flip 2晒得发烫,屏幕朝上,盖子半掀着,镜面反光晃得人眼晕。楼下便利店的关东煮摊子还没收,汤锅咕嘟声隔了六层楼还钻得进来,萝卜块沉下去又浮上来,跟我们那版系统里折叠态通知栏的重绘时机一样——永远卡在该出现和该消失之间那个模糊区。 我原以为就改个onFoldStateChange回调里的Drawable切换,结果点进去发现他们把AnimationHandler直接塞进SystemUI的StatusBarIconController里了,连个WeakReference都没包。测试妹子小林测到第二轮就说“右上角信号格有时候叠两层”,我让她截图,她回我一张拍糊的,手指头还挡着半边,底下配字:“刚泡好关东煮,等我啃完这个鱼豆腐”。我盯着那张图看了十八秒,没说话,删了她发来的adb logcat命令,自己重打了三遍:先抓全量trace,再过滤SystemUI进程,最后单独抓ViewRootImpl的draw流程。查到最后是FrameLayout的measureSpec传错了——但不是我们代码错的,是他们在那版系统里动了WindowManagerService的窗口尺寸预判逻辑,只改了竖屏路径,折叠态默认沿用直板机那一套。这事儿我敢打包票,因为我在OPPO Find N3上见过一模一样的坑,连日志里那个“skip invalid measureSpec for foldable”提示都一模一样,只是小米这边把log level调成了DEBUG,不翻源码根本看不到。 窗外洒水车经过的时候,喷头正好转到我们楼层,水雾扑在玻璃上,哗啦一下,像突然糊了一层毛玻璃。我抬手擦了擦,结果发现擦的是自己眼镜片。桌上机械键盘的青轴声没停过,啪、咔、哒,节奏比Jenkins构建失败的提示音还准。我顺手按了下Alt+Tab切回Android Studio,光标在ActivityThread.java里乱跳,找不到上次打断点的位置——其实我不记得断在哪了,只记得昨天中午被厂商催着删掉一个SurfaceView硬编码宽高比的兼容逻辑,理由是“新架构不允许自定义surface尺寸”,可他们自己Launcher里的文件管理器缩略图预览还在用Canvas drawBitmap裁一半再scaleToFit…… 优胜劣汰?对。就是那种淘汰掉所有还想着手动适配onConfigurationChanged的人,留下一堆死磕WindowMetrics+DisplayCutout+FoldableStateProvider嵌套回调的活人。我们外包团队仨人,老张写了八百行Kotlin扩展函数封装折叠态生命周期,结果提PR被拒,说“建议复用SystemUI已有的FoldableStateManager”,点进去一看,那个类在那版系统里只有两个public static final int常量,外加一段被注释掉的init()方法。小林今天上午给我看她的日志分析表,Excel里第三列写着“信号图标闪动频次 vs 折叠角度(精度±5°)”,数据填到第47行戛然而止,最后一行是:“泡面桶打翻,重采”。我说你别搞量化了,直接上真机划十次,录屏拖慢速看帧率曲线。她嗯了一声,转身去楼下买新的关东煮,回来时拎着袋子站在门口,没进门,说:“刚才路过测试组,听见他们骂‘这折叠态动画缓存根本没清’。”我抬头看了她一眼,她眼睛下面有黑眼圈,头发扎得歪了,橡皮筋松垮垮挂耳朵上,没说话,把袋子放我桌上,里面是海带结和魔芋丝,没放萝卜。 其实我早该想到。上周五傍晚,在小米那边会议室里,产品PM举着平板演示Demo,手指在屏幕上划拉得飞快,说“用户开盖三秒内必须看到微信红点”。我当时没吱声,只盯着他手腕内侧露出的一小截皮肤——上面贴着块医用胶布,应该是抽血留下的。他讲话时一直下意识抠那块胶布边缘,翘起来一点,又按回去。后来散会时我瞥见垃圾桶里有半张撕碎的化验单,字迹被水洇开,只看清“促甲状腺激素”和后面一小串数字。这些事跟适配没关系,但我记得太清楚了,比记得那版系统里StatusBarIconList的addIconAt()方法少了个foldState校验还清楚。
产品概念图,仅供参考 所以现在怎么办?我先把老张那八百行删了四百,剩下四百补了个反射调用SystemUI里那两个常量的兜底。小林刚发来新截图,这次拍得清楚,信号格真的叠了两层,第二层偏右七像素。我懒得改了,准备下午直接去找他们Framework组的接口人老赵,他上周请我喝过一次冰美式,知道我抽烟,还递过火。但我不确定他还在不在那个微信群里——三天前群名从“MIX Flip 2系统集成”改成了“折叠专项协同(二期)”,头像换成了蓝色渐变圆点,看着像极了我们测试机堆在窗台晒热后屏幕自动触发的色温漂移。我打算明天上午十点前把PR提上去,不管过不过审。反正后天上午要进厂烧录验证机,我得带着调试线、type-c转接头、还有两包没拆的咖啡糖。至于那个状态栏图标重绘逻辑?我准备留个TODO注释:“此处应监听FoldStateChangeEvent而非WindowInsets”,然后在括号里写:“如果他们下次真加了,我再改”。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

