最近被迫又重新学习了一下安卓以及刷机相关的知识,原因是刚买不到几个月的小米手机又又又又开始卡了。
自己平常也不玩游戏,只是聊聊微信,看看B站啥的。理论上来说,是远远不到手机性能的瓶颈的,3年前的865也能满足我的需求,更不用说手里这台骁龙8G1处理器的小米12了。但实际上,不仅卡,卡的还跟PPT一样,每次连地铁扫码都要卡半天,体验极差。
经过两周的折腾跟实验,终于让手机的流畅程度有了质的飞跃。这里总结了一些优化的措施,跟大家一起分享。
解锁BL的教程有很多,这里不再赘述。解锁BL是优化的必经之路,同时要承担解锁的后果:你的手机一定不能丢,否则里面的数据以及你的手机都不再安全。
不解锁不ROOT可以吗?之前本人试过用adb卸载内置应用,结果MIUI里面的广告以及信息采集等应用总是一开机就装回来了,非常顽固。
TWRP是一个强大的第三方Recovery。Recovery又被称作rec,恢复模式,刷机模式等等。其功能大致类似于U盘重装系统时的WinPE,在另外的分区提供一个功能简易的小型操作系统,主要用来刷入.zip,格式化分区等。
小米12国内没找到现成的TWRP,在XDA上找到一个老哥移植后的版本:https://dl.akr-developers.com/?dir=skkk/TWRP/A12,需要注意的是第一次刷了6.x版本会卡米,后面改为\[BOOT\]3.6.2\_12-Mi12\_v5.1\_A12-cupid-skkk\_bdb9bb8d.img这个版本成功进入。
因为小米12是VAB架构,已经去掉了recovery分区,所以临时启动后还要再操作一步安装到ramdisk
fastboot boot rec.img
高级-刷入当前TWRP/安装recovery ramdisk
刷系统的目的是干掉国内系统中流氓组件,包括且不限于信息采集,后台监控,广告推广等。当然也可以选择用小黑屋等把内置应用冻结起来,但是刷系统的方法更加彻底。
首选当然是类原生,并且是有团队维护的版本,不然有BUG了很难受。不过最后还是选择了MIUI,原因有两点,一是找了一圈发现小米12目前也没有其他第三方ROM,很多都还没支持;二是已经习惯了MIUI,懒得再去适应一种新的系统了。
MIUI其实有三个版本:
官方推出的国内版MIUI:miui.com
官方推出的国际版MIUI:global.miui.com
第三方推出的欧版MIUI:xiaomi.eu
国内版MIUI也就是我们出厂时候内置的,非常的臃肿,也是我们要优化的目标。
官方推出的国际版MIUI虽然没有国内的MIUI广告多,但是仍有AnalyticsCore、MSA-Global等广告后台。
EU版是欧盟和MIUI认证的民间版本,更新速度与国内测试版平行,正式版甚至比国内发布还快,广告全无且谷歌套件只有谷歌商店和GMS,非常干净。如果是轻度使用用户想搞个没广告的小米系统,推荐EU版。
第一次刷机就搞错了,刷成官方的国际版了,这玩意不仅有广告,更坑人的是系统居然不支持双卡??后来又刷成了EU版本,终于解决了双卡的问题,并且确实没有AnalyticsCore这个东西了,非常的清爽,当时刷机的时候,EU版甚至比官方MIUI稳定版还快一个版本。
刷机方法:进入TWRP然后sideload刷入EU版系统的ZIP包即可。
adb sideload xiaomi.eu.zip
刷完后开机,看到MIUI by xiaomi.eu的字样,就说明刷对系统了。
更详细的刷机教程:https://zhuanlan.zhihu.com/p/408114647
其他的一些类原生系统:https://miuiver.com/aosp-rom-of-xiaomi/
刷模块的记忆还停留在xposed,当时应该还没有magisk。但是现在想要用xposed的模块还要在magisk中安装一个lsposed,然后在lsposed中再去安装模块。
刚开始并不太理解magisk的模块跟xposed模块的区别,认为magisk是xposed的替代品,xposed的模块应该也能装到magisk中。现在看来magisk更偏向于系统中的模块修改,模块的内容主要是执行一段Shell命令。lsposed中的模块主要应用于具体APP中的修改与hook,例如QQ/微信防撤回等。另外Magisk提供了ROOT管理的功能,刷入Magisk就等于ROOT了,可以当一个SuperSU来用。
从https://github.com/topjohnwu/Magisk/releases下载最新的.apk文件,安装。
apk文件后缀修改为.zip文件,重启进入TWRP刷入zip。
重启进入系统,打开magisk如果没报错就已经获取了ROOT。
至此,我们的准备工作已经完毕。
“为什么新手机一出旧手机自动就变卡了?”这本来是一句玩笑话,现在看来确实有可能是真的。因为很多手机都会存在云端温控这个东西:厂商会把温控配置文件放到云端,做到远程对手机性能的控制。
官方的调度一般都比较保守,首先保证的是省电跟不发热,也就是俗称的“怂调度”,当然也不排除一些商业原因XXX
我的手机我做主,直接扬了。这里我用的是【淦!MIUI温控】这个工具。在酷安就可以下载安装。
首先获取ROOT权限后修改为【均衡模式】,然后在【其他】中【禁用Joyose】,其他的选项可以改改试试。修改完再打开APP感觉到手机确实变得不一样了,轻微发热状态下也不会再降频了,可以保持流畅运行。
本来只装了一个淦温控,然后发现一个问题:如果是均衡模式,APP切换的频繁了,或者看视频手机发热了后还是会降频;但是如果调整到性能模式或者淦模式就会很耗电,所有的APP都拉满了跑。
按照我的理解,温控决定的是手机多少度开始限制多少发挥的性能,调度其实是面对什么场景使用多少性能比例。例如打游戏的时候当然要把性能拉满,但是平常锁屏就进入低功耗状态,维持省电。但是我们还需要一个负责性能调度的软件,来控制不同软件不同场景下更细粒度的调度。
这里在多方对比之下使用了scene5作为调度优化工具【非广告】。这个软件并不完全免费,刚开始可以先免费体验15天,15天后需要购买激活码,大概是15块钱。但是确实做的体验很好,每个点都有解释,功能很全。scene5比较适合懒人,其他免费的也有yc调度等调度软件。可能是无端的猜想,自己总是感觉付费的一定程度上比用爱发电要靠谱一些。一番使用下来感觉15块钱确实物有所值。
以下是应用主界面,可以看到CPU,GPU,内存的的负载情况
安装scene5后,我把淦温控调整为性能模式,配置源选择Scene在线,开启动态响应。默认均衡模式,待机时选择省电模式,并且开启延迟切换。
MIUI还有一个恶心人的地方就是杀后台很严重,切换一下应用就会重新触发热加载。scene里也有对应的保后台模块,下载后在Magisk中刷入即可。
手机的Swap开了简直是负优化。在MIUI系统设置中关闭【内存扩展】功能,在Scene中关闭并删除Swapfile。ZRAM是把现有的内存进行压缩,能放下更多的内容但是会消耗额外的CPU。酷安上有帖子测试过其耗电几乎可以不计,对于性能较好的手机来说建议开启,这里我设置的是4G,基本可以满足日常需要。
一通设置下来之后,手里的小米12简直脱胎换骨,使用体验有了质的飞跃!就像鸟枪换大炮、2G换5G一样,非常的丝滑流畅。轻度使用五个半小时差不多还剩50%的电,也基本符合预期。整体的体验就是非常的流畅,发热也不严重。
获取ROOT、安装了Magisk跟lsposed后感觉进入了新世界的大门,第一次有了“自己的手机自己做主”的感觉。酷安上还有很多奇奇怪怪神神秘秘的模块,都可以试一试但是不建议装的太多,一是耗电二是增加了不安全不稳定。
小米的性价比真的是做到了机制,不像xx厂888卖到4k+。但是系统优化方面真的是一言难尽,已经把用户逼到了必须要手动去修改底层调度的程度,甚至还衍生出了专门的调度优化产业。对于一般的用户来说,可能只是会觉得安卓不行/手机该换了等等,但实际上可能只是国内毒瘤APP利用权限在耍流氓,或者系统的性能没有发挥到最优。自己作为计算机相关从业者,还是想要想办法优化优化。这过程中在酷安上也看到了很多前人写的优秀的帖子跟教程,学到了许多相关的知识。
本文仅以本人的经历来写,可能其他机型并不适合,请根据实际情况酌情调整。刷机千万条,备份第一条。数据无价,捣鼓之前切记先备份。