iPhone 17 Pro设计蓝图曝光:全新外观+黑科技来袭
|
亲历现场。昨晚十一点零七分,测试机堆在窗台晒到发烫,三台ColorOS那版系统刚刷完,屏幕还泛着蓝光,像没睡醒的鱼肚白。我盯着adb log里一串重复的WMS: Failed to add window,手抖点了第七次reboot,楼下便利店的关东煮香味正飘上来——萝卜块浮在汤里晃,热气糊了玻璃。王工蹲在工位底下扯线,拽出两根被老鼠啃过胶皮的USB 3.0线,其中一根还连着台亮着MIUI logo的测试机,它卡在开机动画第三帧,不动了。我原以为是surface flinger线程锁死,结果抓个systrace发现是厂商自己把hwcomposer HAL层的gralloc_alloc回调塞进了一个单例锁里……这个我敢打包票。 “iPhone 17 Pro设计蓝图曝光:全新外观+黑科技来袭”——这标题我扫到第一眼就笑了。不是笑它假,是笑它真。真在哪儿?优胜劣汰。不是说苹果多牛,是说安卓这边连淘汰都懒得淘汰:上个月OPPO那边提了个需求,要在双开微信时禁止后台Service拉起第三方push SDK,我们改了七版frameworks/base,最后上线的那版……其实只生效在六成机型上,剩下四成,包括那台还在窗台上冒热气的Find X6,根本没走我们写的那个hook点,它直接绕去调用vendor/oppo/hw/launchmgr了。这叫什么?这叫优胜劣汰还没开始,就被裁掉一半赛道了。可人家标题写得比我们commit message还干净利落。 编译等了十八秒。窗外洒水车经过,滋啦滋啦的水声混着低频震动传上来,我听见隔壁组小陈敲机械键盘,青轴,C键按下去那一下弹力衰减得特别明显,啪嗒、啪嗒、啪嗒——他连敲三下ESC退出IDE,转头问测试妹子:“红米K70E那个陀螺仪偏移,复现步骤你录屏了吗?”妹子没答,只把耳机线从耳后绕到颈侧,手指在平板上划了两下,切出一个横屏的Excel,表头写着“SMT烧录失败率(深圳三厂)”,字体太小我看不清,但绿色背景格子占了大半。我没问,她也没推给我看。
产品概念图,仅供参考 说到淘汰。上周二,高通那边给的patch包,带一个“修复qcom_display_commit_timeout”的tag,我拆开看了,补丁里就一行新代码:if (ts < 0) ts = 0; ——前面那个ts是从disp_frame_timing里算出来的,单位毫秒,但没人告诉你是signed int还是unsigned,结果在三星S24上跑,溢出成负数,触发panic。这算优胜?不。这叫尸体还没凉透,棺材钉已经锈了。而苹果那标题里“黑科技”三个字,至少说明他们连尸体都不摆出来给你验尸。省事。昨天下午三点,厂商对接人老张坐我对面喝冰美式,纸杯底洇开一片褐色圆渍,他说“你们适配节奏再快点,客户发布会倒计时四十二天”。我说好。他起身时把iPad忘在桌上,屏保是张全家福,他儿子举着个乐高火箭模型,火箭尾焰贴着右上角日期栏,日期是五月十七号。我伸手想碰iPad,又缩回来——怕误触唤醒,弹出那个永远打不开的OTA推送内测页面。他手机响了,铃声是《新闻联播》片头曲前五秒,我听见他边走边说:“……对,那个UWB频段兼容性,让BSP先压一周……”话音消失在走廊拐角。我盯着他留下的那圈咖啡渍,慢慢干瘪、收缩,边缘裂开细纹,像一块微型龟裂的LCD模组。 我试过用system_server进程dump meminfo查gralloc buffer leak,试了三次,每次dump完都是同一个结果:total_pss: 8192 KB,其中graphics: 3452 KB,但gralloc分配记录却少两百多块buffer。这个我说不准。可能logcat里那行“I/GrallocModule: alloc with usage=0x2200”根本就没被打印,也可能是display HAL自己吃掉了error,也可能是我们那个定制libdrm_gralloc.so里的atomic_add搞丢了内存屏障……谁知道。反正现在窗口add失败的trace里,连buffer handle都显示0x00000000了。 前天凌晨两点,测试妹子拎着一袋关东煮进来,萝卜、魔芋丝、竹轮,每样三串,放在她桌上没动。她一边解压AndroidQ-internal-symbols.zip,一边嚼冷掉的竹轮,咔哧咔哧。嚼到一半停住,掏出一张便签纸,在背面写:“Xiaomi K70 Pro → SurfaceFlinger::createLayer → checkName() fail: name too long → 实际是binder_transaction buffer超限 → 但我们日志全打在V级别”。写完撕下来拍我显示器边框上,胶印留下一道灰痕,到现在还在那儿。我没揭,也不想揭。 有人问我为啥不干脆用AIDL重构那个WindowManager接口。我敲着键盘反问:“重构完谁测?谁认?谁背锅?”话音未落,王工从桌下探出头,递来一杯还温的奶茶,杯壁凝着水珠,滴到我刚编译成功的out/target/product/XXX/system/lib64/libhwui.so文件名上,把那个“.so”晕开成了“.s o”。我拿纸巾擦,擦出三道斜痕。奶茶没喝,放那儿了。 优胜劣汰?别逗了。我们是在陪葬队伍里帮人整理遗容。现在要做的,是盯住今晚十二点前必须提交的那份selinux policy diff,里面有个allow activity_service window_service:window { add },漏了bind,漏了find,漏了show。明早八点,测试妹子会把它拖进Jenkins,然后等。我不打算改。让她等去。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

