加入收藏 | 设为首页 | 会员中心 | 我要投稿 52刷机网 (https://www.52shuaji.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 安卓频道 > 安卓评测 > 正文

小米MIX Flip 2评测:小折叠新标杆

发布时间:2026-11-13 14:26:48 所属栏目:安卓评测 来源:DaWei
导读:  亲历现场。那晚小米对接人老张在微信语音里说“再压两小时”,我盯着编译窗口卡在 97% 十八秒,窗外洒水车正路过科兴科学园南门,水柱扫过玻璃幕墙的反光斜斜切过来,照得 BuildOutput.log 里的红色 Error 字样像

  亲历现场。那晚小米对接人老张在微信语音里说“再压两小时”,我盯着编译窗口卡在 97% 十八秒,窗外洒水车正路过科兴科学园南门,水柱扫过玻璃幕墙的反光斜斜切过来,照得 BuildOutput.log 里的红色 Error 字样像渗血——结果点开一看是 Gradle 插件签名配置多写了个冒号,删掉就过了。


  桌上的机械键盘声特别响,青轴,Cherry MX Blue,按 Delete 键那一下“咔哒”太脆,我连按三下删掉整行 Manifest merger 冲突提示,手抖,误删了 vendor/overlay 路径里一行 false,导致所有测试机锁屏界面右上角多出个 HOME 图标,测试妹子小林当场拍照发群里:“老师,这是新版‘致敬 iPhone’设计?”没人回,因为都在等 OTA 签名证书过审。


  我原以为只要把 Flip 2 的 hinge sensor 数据映射逻辑从 /dev/hinge 改成 /sys/class/hinge/state 就能搞定姿态识别,结果发现那版系统底层压根没暴露 hinge node,只留了个 /proc/hinge_status —— 还是只读、不触发中断、每三秒更新一次。我改了七遍 HAL 层轮询周期,最后一次改到 1200 毫秒,测出来合盖响应延迟从 1.8 秒压到 1.3 秒,但合到一半松手,屏幕动画直接卡住,灰屏三秒后重启 SystemUI。小林拿她自己的 Flip 2 压着测试,指甲掐着转轴来回折,嘴里数:“一、二、三……” 数到十九次,系统才第一次触发半开状态的 UI 自适应切换。


  楼下便利店的关东煮摊子十一点准时收摊,铁皮推车轮子碾过沥青路的“咕噜咕噜”声穿过窗缝钻进来,混着空调外机嗡鸣。我啃着冷掉的竹轮,看 adb logcat 里满屏的 SurfaceFlinger: skipFrame(372)。这个我敢打包票:不是 GPU 顶不住,是 DisplayAdapter 在 hinge 角度插值时用了 float 而非 fixed-point,四舍五入误差累计到 0.003 弧度,导致 Surface 重建触发阈值失效——但这话我跟老张说了三遍,他回了个“收到”,然后发来新需求文档:要求折叠态下通知栏显示双时间(主屏+副屏本地时区),文档里写“参考三星 Z Flip5 实现”。我说三星那是硬编码双 timezone service,我们这连副屏 RTC 都没走独立电源轨。他没接话,只甩来截图:一个 PPT 页,标题“竞品体验对标表”,表格第三行写着“MIX Flip 2|优胜劣汰|已达成”。


  测试机堆在窗台晒到发烫。七台 Flip 2,四台亮着锁屏,三台黑着屏但前置摄像头绿灯微亮——说明 SensorHub 还在偷偷跑。我伸手摸了下中间那台,后壳温度计显示 41℃,比室温高十七度。这玩意儿发热源不是 SoC,是铰链附近的磁吸霍尔阵列,每次角度变化它都往 I2C 总线上狂塞数据包,HAL 层收包缓冲区根本来不及 flush,溢出就丢帧,丢帧就 fallback 到固定角度查表,查表错位两次,UI 就判定“设备未折叠”,直接弹全屏 App。上周三我亲眼见小林用胶带把其中一台的霍尔传感器贴片缠了三层绝缘胶布,再折合——响应快了 0.6 秒。我没敢记进 BugDB。


  老张昨天下午又来了趟办公室,穿的还是那件起球的深灰 Polo,腋下两块汗渍,他坐我工位边沿,掏出手机翻相册给我看照片:三张图,一张是工厂产线工人戴着防静电手套调校铰链阻尼,一张是实验室里 X 光透视铰链结构,一张是测试员用扭矩仪拧转轴的实时曲线图。“你信这个吗?”他指第三张。我说我信扭矩曲线,不信曲线下面标的小字“精度±0.02N·m”。他说那你再信不信,“优胜劣汰”四个字,是我们法务部过会的最终定稿,不是 PR 编的。我点头,转头去调 adb shell dumpsys activity activities,搜到了一句日志:ActivityRecord{abcd1234 u0 com.miui.home/.launcher.Launcher t234} is in STATE_RESUMED but orientation changed to undefined… 后面没了。我原以为 undefined 是系统没初始化好,结果发现是 ActivityThread 在 hinge sensor callback 里被强制 abort 了——abort 前最后调用的 native 方法是 libmiui_hinge.so!miui_hinge_get_state_from_ion_buffer(),参数传了个空指针,空指针没崩,是因为它外面裹了 __attribute__((nothrow)),所以 silent fail。这个我说不准,因为没源码,只有符号表。


产品概念图,仅供参考

  刚才泡面时候听见隔壁组两个外包同事吵架,一个说华为那边给的 hinge SDK 是真货,另一个说“他们上个月刚把 sensor id 从 0x2c 换成 0x2d,换完三天没告诉任何人”,吵到一半断电了,整层楼黑了四十秒。UPS 启动的声音像拖拉机打火,我盯着 IDE 里还在跑的 gradle task,突然想起去年做 OPPO Find N2 适配时,也在这间办公室,也是 deadline 前夜,也是铰链驱动问题。当时我写了三百七十二行 C++ adapter 层代码,全被砍掉,换成他们给的 .so——结果三个月后爆出那个 .so 会把 /dev/block/bootdevice/by-name/vendor_boot 分区里的 bootloader flag 清零,导致一批机器变砖。这事没人提,包括老张。


  算了,先跑一遍 regression on device stack,七台机一起刷包。小林说她把充电器借给测试组了,我得下去便利店买个新的——上次买的那款,Type-C 接口金属弹片歪了,插进 Flip 2 的时候要往左偏三度才充得进去。

(编辑:52刷机网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章