vivo Y300 Pro+深度评测:续航与影像双旗舰
|
亲历现场。那晚十一点半,vivo Y300 Pro+工程机堆在窗台,玻璃被晒了一整天,摸上去还烫手,边框印着三枚指纹——测试妹子下午拿去拍逆光人像时蹭的,她没擦,我就没动。 我原以为只要把影像 pipeline 的 vendor HAL 层切到新基线,续航那边顺带打个补丁就行。结果刚 rebase 完,厂商对接人老张发来截图:系统设置里「智能省电」开关点下去没响应。不是灰掉,是点下去、动画播了、回调也进了,但 SettingsProvider 里对应的 global key 值压根没变。我盯着 logcat 里那行 tag 是 SettingsProvider 的 DEBUG 日志看了十八秒,直到楼下便利店关东煮收摊的铁皮盖“哐”一声扣上——他们十一点半准时关火。 编译卡在 dex2oat,等了四百一十二秒。窗外洒水车正好路过,喷头嘶嘶声混着水雾扑上玻璃,Y300 Pro+屏幕反光里映出歪斜的蓝光水痕。我顺手擦了下,没擦干净,又懒得再擦。 这个我敢打包票:它不是 SELinux 拦的。我们连 sepolicy diff 都导出来了,两版 policy 里关于 device_config 的 neverallow 规则一模一样,连注释位置都没动。可就偏偏,SettingsProvider 里 updateSetting() 调用完,getSetting() 还是旧值。我拉了外包同事阿哲一起看,他直接 adb shell su -c 'settings get global adaptive_battery',回车,空;我跟着敲,还是空;他换 root 后用 setprop 强塞一个值,重启 Settings App,再 get,终于有数了——但 switch 状态依然不联动。所以根本不是写不进去,是读错了地方。错哪?我说不准。后来发现 vendor overlay 里有个 config.xml 把 adaptive_battery 默认值覆盖成 false,而 UI 的 switch 逻辑压根不查这个配置项,只查 Settings.Global,但 Settings.Global 又被 vendor init 过程里的一个 late-start service 在 boot phase 3.2 抢先清过一遍……这鬼路径,我三年前在 iQOO X80 上见过类似,但那次是 clear,这次是 write-after-clear 之后又 read-before-write,中间差了三百七十二毫秒的 timing window。 桌上的机械键盘声突然响起来,是阿哲在敲“w”,他右手小指翘着,左手在摸鼻梁。他说:“要不你试试把 SettingsProvider 的 apk 全量重签名?”我摇头。不是不想试,是昨天下午刚在另一台 Y300 Pro+ 上干过这事——签名后开机动画跑完直接黑屏,log 里只有一句 Binder call to SurfaceFlinger timeout,没堆栈,没进程名,连 pid 都没打全。我们俩对视三秒,他点了根烟,烟头亮了三次才说话:“算了吧,这版系统太脆。” 脆?我嗤笑。去年 OPPO Reno12 那版系统,我调 color space 切换卡顿,在 CameraService 的 SurfaceTexture 缓存池里硬塞了个 refcount 计数器,跑了七天没崩。但 Y300 Pro+ 这版,光是插拔两次 USB-C 就能让 SystemUI 里状态栏图标批量消失——不是隐藏,是 View 对象内存地址直接变 nullptr,trace 工具抓不到 GC Root,因为 root 根本没丢,是 view hierarchy 自己把自己从 parent detach 了三次,没 reattach。测试妹子录屏时都笑了:“哎呀它自己走丢了。” 优胜劣汰。对,就这四个字。不是夸它强,是它活下来了。别的厂同期同代的机型,相机起不来、WiFi 掉线、快充协议握手失败,全被筛掉了。唯独 Y300 Pro+ 过了整机稳定性测试——不是它没 bug,是它的 bug 聚类在同一个模块里,其他模块死扛着不动。就像一群老鼠过独木桥,只有它踩得准频率,别的全掉河里。所以现在我们看到的「续航与影像双旗舰」,本质是一场适配链路上的自然选择:那些没撑过 thermal throttle 压力测试的 OTA 包,自动被淘汰;那些在弱光视频防抖时触发 ANR 超过三次的 HAL 实现,被人工剪掉;最后剩下来的,不是最优解,是唯一活口。 我删了第三段里所有关于 vendor overlay 的推测。写了又删。因为老张刚微信发来新需求:“明天上午十点前,要一份可烧写的完整 userdebug build,必须带 debug symbols。”他没提要不要修那个开关,也没说要不要保底方案。我就知道,这事不重要了——它已经被划进「已知行为」的框里,和「长按电源键有时弹出两个锁屏」并列。
产品概念图,仅供参考 阿哲把键盘推远,转头问:“你喝红牛还是冰美式?”我没答。楼下便利店灯光灭了,只剩冷柜灯幽幽地亮着,映在 Y300 Pro+ 发烫的屏幕上,像一块没擦干净的污渍。这版系统,我准备今天下班前给 build server 提交最后一个 patch,就改一行:在 SettingsProvider.java 第 1492 行加个 try-catch,catch 住 IllegalArgumentException 后 fallback 到 SharedPreferences。不修逻辑,只保流程不死。老张要的是 build,不是真相。反正测试妹子明天早上八点就来取机,她说她今早买了三包抽纸,说“拍夜景时容易哭”。 哦对,刚才洒水车又路过一次,这次喷得更近,水珠子溅到我左手虎口上了。有点凉。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

