小米17 Ultra徕卡版:影像旗舰再攀巅峰
|
亲历现场。那晚小米17 Ultra徕卡版的影像预置包压测,我守在测试间第三张工位——就是窗台堆了七台真机那张,最右边那台屏幕朝上,屏保还卡在“优胜劣汰”四个字的灰底黑字动效里,一帧没跳过。李工蹲在门口啃关东煮,竹签戳着萝卜块,在塑料碗边沿刮出嘶啦声,我说你别在这儿刮,他头都不抬:“刮的是萝卜,又不是我刮你编译日志。” 我原以为只要把那版系统里所有CameraService进程的onCaptureStarted回调都重走一遍就能过。结果跑完第十八秒,主摄预览直接丢帧三连——不是花屏,不是绿条,是整帧延迟两百二十毫秒后才吐出来,像老式传真机卡纸时的顿挫。我截图发给小米对接人老陈,他回得飞快:“看日志,check vendor.img是否完整挂载。”我查了,挂载了。再查selinux context,也对。最后发现是vendor_overlay里一个叫libcamera_metadata.so的so文件被新打包脚本漏掉了依赖符号表,但只有在启动相机App前五秒内连续点开三个不同滤镜tab才会触发——这种路径你编测试用例?编一百年都编不到。 桌上的机械键盘青轴咔嗒咔嗒响,我左手按着Ctrl+C,右手还在往adb shell里敲kill -9,第三只手摸烟盒,没摸到。楼下便利店的关东煮蒸气从门缝飘进来,混着海带结的腥气。测试妹子小张突然推门冲进来,手里捏着三台烧屏的样机,说“17 Ultra前置双摄自拍默认启用HDR+实时AI美颜2.3,但那个美颜模块的binder thread priority设错了,和SurfaceFlinger抢同一组调度队列,你们适配包里没改priority继承链”。我点头说好,转头就去翻vendor_prop里那一长串system_server_whitelist,翻到一半想起来:这个我没动过。可我敢打包票,小米那版系统出厂时这个whitelist里根本没加camera_hal的pid过滤项——是后来他们内部打补丁硬塞进去的,没同步给我们文档。 窗外洒水车经过,喷头哗啦一声扫过玻璃,水痕拖出一道斜线,正好盖住我贴在窗上的便签:“MIUI 15.0.18.0 —— 优胜劣汰 = 淘掉旧pipeline、砍掉非核心HAL、干掉预装全家桶里的相册冗余服务”。这话不是我说的,是发布会PPT第三十二页的小字,但我在测试机上真看见了:打开相册APP,点进任意一张17 Ultra拍的照片,右上角那个“编辑”按钮——点了三次,前两次无响应,第三次弹出菜单但图标全错位,文字框宽高比是3:1,不是16:9。我截图发过去,老陈回:“哦,这个是设计改需求了,我们还没同步你们UI资源包。” 我盯着那台晒在窗台最左边的17 Ultra,金属边框被下午三点的太阳晒得发烫,摸上去像刚停稳的摩托排气管。它开机三十秒内,后台同时拉起八十七个service,其中三十二个带“leica”标签,十六个带“xiaomi_imaging_core”,还有五个纯拼音缩写,比如xmi_vsp_17u_p2a,我问过三次,没人告诉我p2a是什么意思。第二次问的时候,外包同事阿哲在隔壁工位拆电池盖,用镊子挑出一块松动的排线,说:“p2a?可能就是‘怕怕啊’——上次联调完他们总监吓的。”我笑了,结果笑岔气,咳出半口没咽下去的枸杞茶,溅在logcat输出窗口最后一行:“E/CameraMetadata: metadata entry buffer overflow on tag 0x80000123”。 其实最离谱的是那个“优胜劣汰”的淘汰逻辑——它淘汰的不全是烂代码。我亲眼看见一套十年前写的JPEG压缩库,在17 Ultra上跑YUV422->JPG转换,耗时比新写的libjpeg-turbo还快三百七十二微秒。为什么?因为小米那版系统在底层做了指令集劫持,所有含mmx/sse指令的libjpeg调用都被重定向到自研的vpu_jpeg_enc.so,但这个so只认特定内存对齐方式,而老库恰好对齐得比新库更“土”,更贴近ARMv7时代的padding习惯……结果被留了下来。我问过小张要不要顺手改掉老库的宏定义让它“看起来现代一点”,她说:“别动。动了反而崩。” 我现在就在改一个DialogFragment的show()方法,把它从support.v4迁到androidx.fragment.app——不是为了兼容,是为了绕过那版系统里某个没公开的ActivityThread hook机制,那个hook会在FragmentManagerImpl#execPendingActions里多插一层try/catch,但catch里又没throw,导致dialog show失败无声无息。我已经删掉三遍重复的onCreateView了,可还是在小米17 Ultra上点第一次“设置-相机-水印开关”会闪退。我不知道是不是该去翻他们kernel patch里那个叫camera_kthread_boost的补丁……算了,先点杯奶茶。刚才小张路过说她男友刚买了17 Ultra,正用徕卡模式拍小区流浪猫,说“拍得跟胶片似的”。我嗯了一声,没接话。
产品概念图,仅供参考 现在要做的:把刚才截的三张错位截图打包,命名成“17Ultra_CamEdit_UI_Bug_20240518_1623”,发给老陈;再重编一次vendor.img,这次手动inject那个libcamera_metadata.so的符号表;然后……等洒水车再来一遍。它每小时十五分准时过,我数过,今天已经过了四次。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

