加入收藏 | 设为首页 | 会员中心 | 我要投稿 52刷机网 (https://www.52shuaji.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 安卓频道 > 安卓评测 > 正文

Redmi K90深度评测:性能续航双优,性价比王者

发布时间:2026-11-10 12:13:52 所属栏目:安卓评测 来源:DaWei
导读:  亲历现场。那晚K90样机到我手里的时候,窗台那堆测试机正被夕阳晒得发烫——三台K90、两台Note12 Turbo、一台早该进回收站的K70工程机,全在玻璃上蒸着白气。我拆开快递盒那会儿,楼下便利店刚摆出关东煮锅,竹签

  亲历现场。那晚K90样机到我手里的时候,窗台那堆测试机正被夕阳晒得发烫——三台K90、两台Note12 Turbo、一台早该进回收站的K70工程机,全在玻璃上蒸着白气。我拆开快递盒那会儿,楼下便利店刚摆出关东煮锅,竹签插在萝卜里斜着,汤还在咕嘟。


  厂商对接人老赵微信弹出来:“明天上午十点,要交付K90系统适配报告初稿。”我没回。手指已经按在键盘上了。机械键盘敲下去第一声“咔”,清脆得像踩断了一根牙签——这把青轴去年摔过三次,右下角空格键底下垫了两张地铁票,按下去比其他键高零点二毫米。我就靠这点手感找节奏。


  我原以为只是照例改个电量算法——那版系统里,BatteryStatsService对快充握手失败时的fallback逻辑早写死了,K90主控是新切的,但充电IC寄存器映射跟上代只差两位。结果编译到一半,AS打了个红叉:SystemUI的StatusbarMobileView里,mSlotMobileDataIcon居然null了。不是空指针崩溃,是根本没赋值。我拉git log看,上个月测试妹子小林提的PR里删了onSignalStrengthsChanged()里一句setIconForDataNetwork()调用,理由是“复用性差”。我敢打包票她根本没跑过双卡+5G SA+VoNR并发场景——那个分支里图标状态机有七个出口,三个入口,但只有两个走了完整链路,剩下五个全靠onResume()里硬刷一遍。我反编译了出厂ROM,发现小米自己留了个private void forceReloadIcons()压根没暴露成public,就卡在private方法里等GC轮转。


  编译等了十八秒。窗外洒水车正好经过,喷头朝左歪着,水雾泼在对面楼的空调外机上,“嘶”一声腾起一缕白烟。我盯着进度条,突然想起上周五跟OPPO那边外包同事老周电话吵架——他非说K90的WLAN扫描间隔在那版系统里必须锁死300ms,不然会漏掉低功耗蓝牙信标。我说你测的是单模WiFi6E芯片,K90用的是双模+BT5.3共享射频路径,那个间隔改不改根本不影响,影响的是coexistence模块里一个叫mPendingBleScanRequests的ArrayList大小阈值。他说我编的。我把logcat里那行DEBUG-level的“D/CoexManager: dropping scan req #47 (queue full)”截图甩给他。他回了个“?”。


  我重写了StatusbarMobileView的init(),手动补了四行,加了两个@SuppressLint("WrongConstant"),又在SystemServer启动时inject了个Hook点。然后开始跑monkey——不是标准8小时,就跑三十七分钟,因为小林说她们测试组下班前最后一批压测必须卡在十七点五十三分结束。我看着屏幕里图标忽明忽暗,突然觉得不对劲:信号格数在弱场下跳变频率太快,像是每三百七十二毫秒就重绘一次,而正常应该和RIL上报周期对齐——也就是大约2.8秒。我抓了dumpsys batterystats -c,发现mLastSignalTimeStamp更新时间戳比TelephonyRegistry回调还早一百二十毫秒。这个我说不准,可能只是Traceview采样抖动。


  下午三点,我又去楼下买了份关东煮。萝卜已经软塌了,但海带结还是韧的。我掰开一个,里面裹着半截鹌鹑蛋,蛋黄发青。边走边吃,路过工位看到老赵蹲在茶水间煮挂面——他今早刚被砍掉两个需求,其中一个是K90的息屏显示动态模糊。他说“反正用户也看不出差别”。我差点说出口:K90 OLED的子像素排列和上代不同,静态图糊是糊了,但动态模糊如果直接套用旧shader,会导致PPI等效分辨率下降13%,而这个数字在出厂校准报告第一页表格第三列第十一行有记录。但我没说。面条太咸,齁得我咳了一声。


产品概念图,仅供参考

  回到工位,编译又卡在dexmerger。不是OOM,是某个aar里的R.java被Gradle偷偷塞进androidx.core:core-ktx里,导致R.layout.status_bar_signal_cluster引用到了错的id。我删掉ktx依赖,手动copy-paste了六行layout,再重跑。这时候键盘右上角CapsLock灯亮着,明明我没按过。我试了三次,它自己亮,自己灭,自己又亮。我原以为是USB供电不稳,结果拔掉HUB换直连,还是这样。现在它就闪着,一明一灭,一明一灭,像呼吸。


  最操蛋的是那句评测标题。“Redmi K90深度评测:性能续航双优,性价比王者”——他们真以为“优”是从实验室数据里抠出来的?K90在那版系统里,后台保活靠的是ActivityManagerService里一段没人敢动的dirty hack:当APP进入STOPPED状态时,不真的kill它,而是用ProcessRecord的finalizer挂了个延迟五秒的clearTaskLocked()。五秒内只要用户切回来,就假装一切如常;五秒后才真清。这段代码在三年前K50上第一次出现,后来所有K系列都抄了,包括这次K90。但没人告诉你,这会导致ART GC在某些机型上误判内存压力,连续触发三次Full GC后,WebView加载页首屏延迟翻倍。这事测试妹子小林在周三下午四点十七分报过bug,编号Q-7721,我当天就打了patch,周五晚上合并,结果老赵说“先不上,等v2.1再说”。现在那篇评测里写的“续航双优”,优的就是这个挂着五秒不清的脏进程池。


  所以我说它的优点在“优胜劣汰”。不是设备优,是淘汰机制优——谁先扛不住这波适配强度,谁先被裁掉,谁的patch就被留进主线。我昨晚删掉了自己写的battery saver mode fallback逻辑,换成了小林最初提交的版本。她写的有问题,但我懒得改了。反正明天上午十点前,它得能跑通CtsVerifier里的BatteryManagerTest。至于那台窗台上晒得发烫的K90样机……我刚刚把它翻了个面。背面朝上。散热孔冲着天花板。


  今晚不睡了。先刷个clean build,再把那台K70工程机借来跑对比帧率——它没换SoC,但用了同一版系统分区。我要看看是不是只有K90的DisplayListRenderer里那个drawOverlays()多调了一次setLayerType()。这事我敢打包票。

(编辑:52刷机网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章