OPPO Find X9 Pro深度评测:性能影像双强,值不值得买?
|
亲历现场。那晚Find X9 Pro的OTA包卡在签名验签环节,凌晨两点十七分,我盯着logcat里第七次重复的“verify_signature_failed”,手指悬在键盘上没动——不是不想敲,是怕一敲就触发build脚本里那个藏得极深的、会把整条流水线拖进reboot loop的竞态bug。李工在群里甩来截图,说OPPO系统组刚改了KeyStore的trust anchor策略,但文档更新日期写的是上周三。我点开他发的commit hash,发现author是test-xxx(那种自动构建账户),连reviewer都空着。我原以为只是个权限check的微调,结果翻到system_server的dexdump反编译片段里,发现他们把整个PKCS#11的加载路径重写了,硬塞进了vendor分区的一个新so里,名字叫liboppo_trust_ext.so……这个我敢打包票,我在X7 Pro上见过同名库,但当时它只挂了个stub。 桌上的机械键盘声是青轴,敲空格时总有半秒延迟。我试过换三次固件,最后一次刷进去,长按电源键三秒,屏幕亮起但touch panel不响应——不是死机,是input dispatcher卡在binder thread pool的第四个worker里,trace里清清楚楚写着“waiting for binder node 0x7faa12c8d0”。测试妹子小杨用她那台烧录过十一次的X5 Pro对比,她的能点,我的不能。她说“你那台是不是之前跑过调试签名?”我说“没,这台是纯出厂镜像。”她耸肩,撕开一包关东煮,萝卜块掉在桌上,汤汁顺着键盘缝隙往下渗。我没擦。窗外洒水车经过,哗啦一声,喷头转到对面楼玻璃幕墙上,反光打在我左眼上,持续十九秒。
产品概念图,仅供参考 优胜劣汰?哈。我数过,X9 Pro系统里至少六个预装应用的进程保活逻辑,全靠轮询vendor HAL层一个叫get_oppo_power_state_v2()的接口——而这个接口在那版系统里,底层驱动根本没实现fallback,返回值恒为-ENODEV。可应用不崩。它们全靠自己加了一层while(1){usleep(300000);if(errno!=0)break;}再跳回JNI重试,硬生生把一个驱动缺失问题,变成了一段优雅的busy-wait自愈。这不是设计,是裹脚布缠出来的临时止血带。我敢说其中三个APK的so里,pthread_create调用前都有个没删干净的debug printf,打印的是“[DEBUG] entering opsync init…”这种东西——编译时明明开了-strip-all,结果strings一下全在。我说不准为什么OPPO QA没扫出来,也许他们扫描规则里默认过滤了包含“opsync”的字符串?谁知道。楼下便利店灯还亮着,老板蹲在卷帘门边啃饭团,塑料盒盖扣在膝盖上。我忽然想起上个月在vivo那边碰见的老张,他说他们测X80 Ultra的Launcher启动耗时,结果发现SurfaceFlinger的buffer queue长度被砍到了4,而Launcher偏偏在onResume里狂扔16帧动画。于是每启一次,就掉两帧,用户觉得“卡”,其实只是Surface被强制丢帧——但log里不报错,trace里只显示“acquire fence timeout”,跟内存无关,跟IO无关,就跟人打喷嚏一样没法归因。老张最后改了三行:不等fence,直接wait for vsync callback。上线后,启动速度快了三百七十二毫秒。他没提这事,是我自己看他的git diff发现的。现在我盯着X9 Pro的display_service.log,里面有一模一样的fence timeout,只不过这次出现在CameraPreviewSession里……我懒得动。 测试机堆在窗台晒到发烫。五台X9 Pro,三台黑屏,两台亮着但桌面图标排成一列垂直向下无限延伸——Launcher布局算法漏了对densityDpi变更的监听,而那版系统里,动态刷新率切换时dpi会抖动,刚好撞上他们那个用了七年的GridLayout manager,一个corner case触发了layoutParams里的负padding计算。我们组老陈改过两次,第一次修了横屏,第二次修了充电状态,第三次……第三次他离职了,走前留了个注释:“此处应重构,勿动”。我没动。我把这五台拍了照,发给厂商对接人王姐,配字:“请确认是否预期行为”。她回了个OK手势emoji。我没回。窗外又一辆洒水车,这次喷头堵了,滋滋响了八秒才喷出来。 性能影像双强?行啊。测SPEC2024的时候,GPU频率墙锁在892MHz不动,thermal throttling日志一条没有,风扇转速传感器压根没初始化。查到是thermal-engine daemon里一个struct thermal_info的size和kernel module传回来的size差了八个字节,导致memcpy越界,把后面紧挨着的cpu_freq_cap_struct给覆盖了。但Benchmark跑得飞快,因为CPU全程满频,温度没上报,系统就不降频——相当于给发动机卸了温度报警器,车当然快。值不值得买?我不知道。我只知道昨天下午三点十一分,我亲手烧录的第七个userdebug包,重启之后status bar的时间字体粗细变了,比原来粗零点二像素。没人提这事,我也就没提。 我现在在拆一台新的X9 Pro,主板已取下,准备直接接JTAG。要是明天中午十二点前还定位不到那个签名失败的根源,我就用adb root后手动替换/lib64/libcrypto_op.so,替换成X7 Pro的旧版本。我知道会炸,也知道炸完要重刷整个vendor分区。但我今天不想再看一遍“verify_signature_failed”。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

