三星Galaxy Z Fold7曝光:折叠屏再突破
|
亲历现场。那天凌晨三点十七分,我盯着测试机堆在窗台晒到发烫的Z Fold6样机,壳子都泛白了,像放太久的奶粉罐。隔壁工位老张刚把机械键盘敲出一串《野蜂飞舞》节奏,嗒嗒嗒嗒嗒——他改完三行SurfaceFlinger适配就敢即兴,真服。我原以为折叠屏这波稳了,结果拆开那版系统日志一看,ActivityManager居然在onMultiWindowModeChanged里卡死十八秒,不是ANR阈值那种卡,是真·停摆,线程挂那儿啃自己栈帧。 楼下便利店关东煮的咕嘟声隔着两堵墙都能听清,萝卜块撞锅底的声音特别实诚。测试妹子小林蹲在门口啃冷掉的饭团,左手捏着Fold6、右手举着Fold7工程机,两个铰链开合角度差两度她都能报出来:“左轴顺滑,右轴有滞涩感。”我说你别管物理层,先看横竖屏切换时SurfaceFlinger重绘次数——她没接话,低头把饭团最后一口咽下去,喉结动得特别快。 编译窗口卡在dex2oat第三阶段,进度条纹丝不动。窗外洒水车经过,喷头嘶嘶漏气,水柱歪向人行道边那棵歪脖子梧桐。我盯着IDE左下角“Building APK”闪了七次,第七次亮起时我手抖点错clean project,整个Module缓存全清了。厂商对接人老周电话进来,声音带鼻音,应该是刚被他们总监骂完:“王工,你们上个PR里的DisplayMetrics适配……是不是漏了forceDarkAllowed?”我没回,把听筒拿远一点,听见他背景音里有人摔了金属笔筒。 这个我敢打包票:Z Fold7主屏展开态的WindowManager布局计算逻辑,和Fold6根本不是同一套策略。不是参数调大调小的问题,是连mBaseLayoutWidth这个字段都从int换成了SparseArray,而你们API文档里还写着“兼容旧接口”。我反编那版系统里三个不同vendor模块,发现三星自己都没统一用法——DisplayManagerService用getLogicalDisplayRect,但InputMethodManager直接硬编码812x1920做裁剪边界。所以你问我“优胜劣汰”?对。但淘汰的不是技术,是那些还相信“一套代码打天下”的人。 上周三晚上改完SensorManager在多屏幕下的唤醒策略,我点了杯冰美式,糖包撕开没倒进去,就搁在键盘F键上。咖啡凉透前,老张突然说:“你有没有试过把SystemUI拉进分屏模式再强行rotate?”我摇头。他二话不说拖出一台Z Fold5,手指按住status bar滑到底,松开——SystemUI崩了,但NotificationPanel居然活着,还亮着蓝牙图标。我说这算什么case?他说:“算你还没见过真正的活见鬼。” 测试机堆在窗台晒到发烫这事我得提第二次,因为今天早上六点去收机,摸到中间那台的铰链盖板,烫得缩手。不是正常发热,是塑料壳子边缘都微微发软。厂方邮件说“热管理优化已上线”,可logcat里TemperatureSensor的callback频率比上代还低——它干脆不回调了,靠一个五年前写的fake temp table撑着。这个我说不准,得等实测跑满四十八小时才敢断言,但我知道小林今早没来,微信头像灰着,最后一条是凌晨一点零三分发的“fold7的hinge sensor offset漂移太大,校准工具报错E_NOT_READY”。
产品概念图,仅供参考 我不屑谈什么“生态”“跨设备协同”。我就盯着那版系统里ActivityRecord的mStackId变量——在Z Fold7上它居然从int变成Long,而Framework里所有isInStack()判断还是用==0比较。你猜怎么着?只要用户把副屏设成默认home,Launcher进程就永久处于“既在stack里又不在stack里”的量子态。我们写了三百七十二行补丁绕过去,结果厂商第二天推了个OTA,把mStackId又悄悄改回int,只是加了高两位掩码。没人通知,没changelog,就藏在vendor.img尾部一个叫fix_stackid_2024q3的段里。 我手边这台Fold6现在还开着logcat,滤词写着“wm_task”. 过去四小时,它输出了八百一十六次“Task id -1 has no root activity”。而Z Fold7样机躺在旁边,屏幕黑着,充电指示灯红得像医院监护仪的警告灯。老张刚把机械键盘推到桌子最右边,说要去趟医院——手腕腱鞘炎复发,昨天还在改InputDispatcher里的pointer sample interpolation,改到一半疼得直抽气。 所以别跟我扯什么“突破”。突破是真突破,但突破底下垫的是我们通宵删掉的五百四十二行重复try-catch,是测试妹子用Excel手动比对的七百八十九组display size+density+orientation组合,是你永远看不到的/vendor/overlay下面那个叫com.samsung.android.app.aod_stub.xml的空文件——它占着包名,却不加载任何资源,就为了堵死第三方AOD的hook入口。现在我要去拆一台刚寄到的工程机,螺丝刀放在键盘右侧第二个托架上,胶布缠着刃口,怕刮花COP封装。你要是也遇到同样事,记得检查下res/values-zh-rCN/dimens.xml里那个叫screen_ratio_adjust_factor的dimen,它写的是0.987,但我信不过,已经全局替换成0.975了。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

