三星Galaxy S26 Ultra曝光:设计革新,定义旗舰新高度
|
亲历现场。那晚S26 Ultra的初版systemui包塞进我笔记本的时候,窗外洒水车正往科技园南门柏油路上喷第三遍水——滋啦声比编译日志还准,十七秒一次,跟闹钟似的。
产品概念图,仅供参考 我原以为是厂商给错了包,结果拆开发现bootanimation里藏了两套资源:一套叫“s26u_optimized”,一套叫“s26u_legacy”。我敢打包票legacy目录底下res/values-zh-rCN/strings.xml第83行,那个“支持高刷自适应”文案后面,多塞了个全角空格。不是半角,不是tab,就是汉字间那种软塌塌的、带拼音输入法残留的空格。我把它删了,rebuild耗时从四分十八秒变成三分五十二秒——但UI启动后右上角时间戳还是错位二十像素。楼下便利店关东煮摊子刚收摊,竹签桶哐当砸在铁皮箱底的声音特别清脆。测试妹子小林蹲在窗台边,一手捏着S26 Ultra真机,一手拿游标卡尺量屏幕边缘曲率。她没说话,就冲我晃了晃卡尺——零刻度对准下边框最凸点,读数是0.97。我点头,她就把手机倒扣在散热垫上,那垫子昨天被六台测试机压了一整天,现在摸着还有余温。 而真正让我把键盘敲得咔咔响的,是statusbar里那个通知图标重绘逻辑。它不崩,不crash,就卡顿——每次下拉通知栏,第二个图标(就是那个天气小图)要迟滞三百七十二毫秒才亮。不是动画慢,是onDraw里drawBitmap调用前卡住。我跟厂商对接人老张视频,他那边背景里空调嗡嗡响,说:“你们改过sysui的vendor overlay吧?”我说没动overlay,只动了frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconArea.java里的iconDensityDipCache。他嗯了一声,说“那你试试把density值打个log”。我就打了,log出来全是-1——但奇怪的是,这个-1只出现在S26 Ultra上,同代S26 Plus、S26 Edge、甚至隔壁A系新机都好好的。我说不准这是硬件寄存器没初始化,还是他们偷偷改了HAL层返回策略。 桌上的机械键盘青轴,敲F5的时候声音特别硬。左Shift键帽已经磨掉漆,露出底下灰白塑料。我盯着AS中Gradle Console里那一行“BUILD SUCCESSFUL in 3m 41s”,没敢点run。因为上次成功构建之后,我点了run,然后三台S26 Ultra测试机同时黑屏重启——不是Kernel Panic,是loader阶段挂的,连fastboot都进不去,必须插数据线按音量键强刷。这事我谁都没敢说,包括外包同事阿哲。他昨天还在群里发截图,说“S26U的system_server内存抖动比S25U低17%”,我没回,因为我知道他测的是空载idle状态,而我们跑的是连续触发三轮NFC+蓝牙配对+振动马达同步脉冲——那会儿第一台机器的Type-C口已经开始冒热气。 优胜劣汰?呵。我昨天翻S25 Ultra出厂固件里的/system/etc/sysconfig/目录,看到个叫“feature_blacklist_s25u.xml”的文件。里面明文列了十三个模块,开头一行注释写着:“For S26 platform only”。这玩意儿根本不是配置开关,是判据表——S26 U只要检测到system/build.prop里有ro.build.version.security_patch=2024-11,立刻禁用所有含“_pre_s26”后缀的service。可问题是,我们外包根本看不到这判断链的入口函数在哪,只看见frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java里一堆if (Build.VERSION.SDK_INT >= 35 && isS26Device())…但isS26Device()怎么实现?没源码,只有符号表。反编出来的smali里,这个方法体是空的。真的空的。return-void,两行字。 所以“定义旗舰新高度”?定义得挺彻底。把我们这些干了七年适配的人,硬生生筛成三类:一类还在扒dumpstate抓Binder线程阻塞点,一类在焊热风枪修烧毁的USB-PD协议芯片(S26 U的type-c控制器温度阈值设得比骁龙8 Gen3的CPU还激进),最后一类……昨天下班前我看见阿哲在工位啃冷馒头,一边看三星内部Wiki的PDF,一边用红笔圈出一句话:“Legacy HAL compatibility path will be deprecated after Q3 2024”。他圈完,在旁边批了仨字:“Q3???”,然后把整页撕下来塞进碎纸机。碎纸机卡了,他蹲着掏了半分钟,掏出一截没碎干净的纸条,上面印着日期:2024年10月18日。 今天早上我改完了NotificationIconArea.java第403行的缓存清除逻辑,把原来的“clear all”改成“clear if density < 0”,跑通三台S26 Ultra真机。但第三台跑完,时间戳偏移从二十像素变成了二十一像素。多了那一像素,是SystemUI进程里一个叫“S26U_TiltCompensation”的native库在onLayout里偷偷加的margin。这个库没symbol,objdump里只有.text段和.rodata段。我问老张,他说“这个库不对外”。 所以我不吐不快的点就在这儿——不是他们搞得多难,是他们搞得太“优胜劣汰”。淘汰的不是技术,是沟通路径。你永远在补洞,但不知道哪个洞下面连着地壳裂缝。我现在打算下午三点去趟楼下的顺丰点,寄一台S26 Ultra回去——不是返厂,是寄给之前在MOTO做底层的刘工。他去年离职开修手机店了,说能帮我看下secure boot log里那段乱码是不是OEM key signature校验失败。反正deadline是后天中午十二点,现在离那时候还有三十八小时十七分钟。先寄过去,再看。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

