荣耀WIN深度评测:性能颜值双杀,购机必看指南
|
产品概念图,仅供参考 亲历现场。那天凌晨三点十七分,我盯着编译日志最后一行“BUILD SUCCESSFUL”愣了四秒,不是因为高兴——是听见隔壁楼测试妹子摔键盘的声音,咔嚓一声,跟上个月荣耀那边接口人把热更新包打成 debug 签名时一模一样。她叫小满,总穿灰运动鞋,脚踝上有颗痣,上回在群里甩截图说“系统服务崩三次了但UI没闪”,我就知道又得重走一遍那个广播注册链。这次更绝:WIN那版系统里,SystemUI进程居然在onConfigurationChanged里调了PackageManager.getInstalledApplications(0),不是缓存,是实打实查磁盘。我原以为是厂商自研模块埋的钩子,结果扒源码发现是他们自己改的ActivityThread.java第两千零三十一行,加了一行Log.e("WTF", "reinit app list"); 后面连个if都懒得套。桌上的机械键盘声停了。我伸手摸了下空咖啡杯底,凉的,杯沿有圈浅褐色印子,像上周三下午三点整洒水车经过窗边时留下的水渍轮廓——它每天这个点来,铁皮箱哐当响,水柱斜着扑在玻璃上,哗啦一下漫开,像某种低配版压力测试。我数过,从它出现到完全消失,十八秒。这回它来了,我没抬头,但听出今天水压比昨天小,可能喷头堵了。楼下便利店关东煮炉子还亮着,萝卜块浮在汤里翻白边,老板蹲在门口抽烟,烟头一明一暗,节奏比我刷log的速度慢半拍。 功能失灵?先说那个“优胜劣汰”——不是吹,是真淘汰得狠。前天晚上九点,我们三个外包一起跑兼容性矩阵,WIN那版系统里,Launcher3 的 AppWidgetHostView 被替换成他们自己的 WidgetContainer,接口完全不兼容,但文档里写的是“继承自原生”。结果呢?第三方天气插件加载到一半直接 throw new RuntimeException("widget service dead"); 没堆栈,就这一句,跟当年小米某版ROM里干掉 NotificationChannelService 时一模一样。还有那个双开微信的图标缩放问题,不是dpi适配没做,是他们用OpenGL ES 2.0渲染图标时,vertex shader里硬编码了0.93倍缩放系数——我敢打包票,因为我在调试器里改过那常量,改成0.94,图标就炸边了;改成0.92,文字糊成一团;只有0.93刚好。但你问他们为啥定0.93?对接人老陈挠头:“算法组给的,说视觉平衡。”他说话时手一直抖,刚接完产线电话,说有一百台样机在流水线上卡在boot animation第二帧。 测试机堆在窗台晒到发烫。七台,四红三蓝,都是WIN工程机,外壳还没上漆,边框毛刺扎手。其中一台的屏幕反光正好照在我左手虎口的老茧上——三年前改MIUI悬浮球逻辑时磨出来的。这玩意儿现在根本不用了,可茧还在。我说不准WIN到底砍了多少后台保活策略,只记得昨早六点二十分,我抓取到一个广播接收器在收到CONNECTIVITY_CHANGE后延迟三百七十二毫秒才启动,而同一机型在上一版系统里是二十九毫秒。这个我说不准,没对比数据,只靠肉眼记日志滚动速度。但我知道小满昨晚在测应用冷启时,突然喊我:“哥,这个‘性能颜值双杀’标题页,左滑返回时SurfaceFlinger丢了一帧,但仅限WIN定制字体加载后。”她指着手机,屏幕还亮着,右下角有个小红点没消——那是我们埋的日志开关,忘了关。 对了,我原来以为是WebView缓存机制被重写了,所以所有H5页首屏慢两百毫秒。结果今天中午扒framework-res.apk才发现,他们把android.R.attr.windowBackground指向了一个runtime生成的Drawable,每次inflate都要走一趟Resources.getXml()再parse,没缓存,没预热,全靠CPU当场编译。这不是优化,是返祖。就像有人拿焊枪修U盘,还觉得效率高。可你提意见?老陈掏出iPad,打开他们内部评审纪要第十八页,指给我看一行加粗字:“UI动效优先级>资源加载确定性”。他说这话时,楼下便利店老板把最后一串竹签扔进垃圾桶,哐当。 反正今晚我还得跑一轮full OTA包。先刷基线,再挂patch,最后校验签名指纹。不为别的,就因为WIN那版系统的ota_verifier模块,在检测失败时会强制触发一次dumpsys meminfo并上报——但上报地址写错了,指向测试服域名。这事我已经改了三遍配置,每次都被合并回滚,说是“影响A/B灰度分组逻辑”。行吧,我认。等我把七台机子全擦干净,顺手把窗台上那台最烫的拿下来,背面贴的散热硅胶已经翘边了,露出底下银灰色金属底,有点像旧年份OPPO Find系列的边框材质……算了,这不重要。 现在得去拆第三个编译环境。Docker里镜像版本锁死了,但宿主机glibc版本升过,所以aapt2链接时偶尔抽风。这个我敢打包票——上回报错是“symbol lookup error: aapt2: undefined symbol: __cxa_throw”,查了半天,最后发现是vendor目录下有个libiconv.so没被strip,和NDK里的同名符号打架。我把它mv成libiconv.so.bak,重编,过了。但今早构建又挂了,错误变成长长一串asm指令地址异常。我说不准是不是同一个根因,可能只是我昨天多按了一次Ctrl+C,让docker状态错乱了。 先去灌杯水。冰箱门开了,灯亮着,里头剩半盒酸奶,保质期写着“今日”,字迹被冷凝水糊掉右下角。我把它拿出来,拧开盖子闻了下,酸味很正。小满在群里发了个新截图:WIN首页下拉通知栏,第三行天气卡片,温度数字少渲染了一像素。没文字说明,就一张图,右上角时间显示05:18:47。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

