vivo Y300 Pro+深度评测:超长续航+高性价比!
|
亲历现场。那版系统推出来第三天,我正对着 Y300 Pro+ 跑 NotificationChannel 兼容性补丁,vivo 对接人老张发来截图:通知栏里「超长续航+高性价比!」八个字,白底黑字,粗体,还带个微弱的右上角渐变光效——跟我们上周提测时的文案一模一样,但 channel ID 居然是 new_feature_2024_q3_promo,不是我们签过字的 promo_banner_v2。我手指悬在键盘上没敲,窗外洒水车刚好经过,那种低频嗡嗡声从玻璃缝钻进来,喷头转动声咔嗒、咔嗒、咔嗒,十八秒。我盯着那串 ID 看了三遍,才把 shift 键松开。 我原以为是推送配置错了,结果导出 dumpsys notification 一看,channel name 字段里真塞着「vivo Y300 Pro+深度评测:超长续航+高性价比!」——不是展示文案,是 channel name 本身。测试妹子小陈蹲在窗台边擦屏幕,嘴里含着根关东煮竹签,戳着其中一台亮着的 Y300 Pro+,竹签尖儿在屏幕上划出细白痕,她说:“这名字能进 Settings→Apps→Notifications 里搜到吗?”我没答。搜不到。系统根本不把它当正常 channel 渲染,只当成“预置文案锚点”。而隔壁外包同事阿哲正用机械键盘猛敲 Ctrl+F5,那青轴声音太脆,嗒、嗒、嗒,像在敲坏掉的节拍器——他还在重跑签名验签流程,第七次。
产品概念图,仅供参考 优胜劣汰。这话我现在说出口自己都想笑。Y300 Pro+ 的电池管理模块确实动了底层调度,实测后台保活时间比上代多三百七十二分钟,但这是靠砍掉三个 SensorHub 子线程换来的;它的「高性价比」,是把 SystemUI 的 status bar 高度从 32dp 强行压到 28dp,然后在 Launcher 的 launcher_item.xml 里加了硬编码 padding_top="-4dp" 抵消——这事儿我敢打包票,翻过三遍 build.gradle 和所有 res/values/dimens.xml。可它为什么能过 T3 测试?因为测试用例写的是「status bar 高度 ≤32dp」,不是「=32dp」。就这么过了。我说不准的是——这套逻辑是谁在哪个会议里拍板的?是产品?还是测试组改 case 的那个戴眼镜的男的?那天下午他端着保温杯进来,杯底磕在桌上一声闷响,我没记住他工牌名字。 测试机堆在窗台晒到发烫,五台 Y300 Pro+ 排成一列,后壳反光晃眼,中间那台摄像头盖板有道指甲划痕,不知道谁干的。我把其中一台拿起来,按电源键唤醒,锁屏界面弹出「vivo Y300 Pro+深度评测:超长续航+高性价比!——优胜劣汰」,底下还带个向下滑动箭头。这不是系统级弹窗,是某家媒体合作 SDK 做的浮层,但 hook 点埋在 com.vivo.systemui.statusbar.policy.BatteryPolicy 里。我拆了 SDK,发现它调用了 getBatteryPercent() 后直接拼字符串,连 formatPercent() 都没走。电量显示是 97%,旁边却写「超长续航」——这算哪门子评测? 楼下便利店刚换了关东煮汤底,以前是浓酱油色,现在发灰,萝卜块漂着油星。我下楼买了一串魔芋结,付钱时收银员抬头问:「你们做系统的,能不能让手机充到 99% 就停?」我说不能。她说她妈的 Y300 Pro+ 每次充到 99% 就断电,插线也没反应,要拔掉再重插。我回到工位,没查 log,先开了 adb shell dumpsys batterystats | grep 'discharge',结果发现 discharge 序列里根本没 99% 这个节点——它在 98.6% 就标记为 FULL,然后静默触发了 force-stop 逻辑。这事我不奇怪。奇怪的是 vivo 提交的那版 OTA 包里,com.android.server.am.ActivityManagerService$BatteryStatsImpl 的 writeState() 方法被 inline 过三次,第四次改成了 try-catch 块包着 return;我拉了两版 diff,确认了这个改动不在我们交接文档里。老张说是「紧急策略兼容」,没给源码,只给了 .so。我说不清这玩意到底动了哪些寄存器映射表,但我知道——它把 BATTERY_DISCHARGE_REASON_FULL 这个 flag,悄悄 alias 成了 BATTERY_DISCHARGE_REASON_IDLE。 阿哲的机械键盘突然卡住一个键,Shift 不弹起来了,他骂了句脏话,把键盘倒过来抖,几颗青轴小弹簧叮当掉在键盘托盘凹槽里。我低头看自己右手食指关节,有点发红,刚才连续七小时没抬过头,拇指一直在搓触控板边缘。小陈已经吃完关东煮,正在用气吹清理 USB-C 接口里的毛絮,她吹的时候眯一只眼,另一只眼瞪着放大镜下的焊点。我忽然想起昨天早上开会,测试组那个戴眼镜的男人说:「用户不关心渠道ID怎么命名,只关心有没有弹出来。」——当时我没吭声,现在我想起他保温杯盖子拧到第三圈才听见咔哒一声咬合,手劲真大。 「优胜劣汰」这词我是在产线日志里看到的。不是文档,不是 PRD,是 /data/vendor/telemetry/log/ota_rollback_reason.log 里的一行,timestamp 后面跟着「reason: [opt-in] v320_optimise_power -> opt_out_due_to_competitor_benchmark_drop -> trigger: winnowing_by_survival」。我截了图发给老张,他回了个「」。我后来删了那行日志,怕留痕,但忘删了 adb pull 时本地生成的副本,现在它还在我桌面上,文件名叫 ota_fail_1287.txt,大小二百三十九字节。这事儿我不打算重跑了——反正下周要切新分支,那版系统里这个逻辑会被 merge 进 core-frameworks,而我们的适配任务,在周五下班前就得打出最终包。 我现在去楼下再买串魔芋结。这回得挑没泡过汤的,干的。不然手指沾水,碰键盘容易短路。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

