通过修改android的init.qcom.post_boot.sh实现配置zram大小
开端
前几天看到好多手机在拿内存扩展做卖点,然后看了一下,不过好像还是linux的swap没啥亮点,不过发现也有个zram的玩意,原谅我孤陋寡闻现在才知道,这东西好像还不错,类似于win10的那个内存压缩, 通过压缩长时间不在前台的进程来节省内存占用,不会像swap一样频繁操作闪存,也可以减少IO操作节省资源,延长闪存寿命,不过内存压缩是一种用时间换空间的方式,解压缩过程也是需要消耗少量cpu资源。参考文章zRAM内存压缩技术原理与应用 那么这个zram需要开多大合适呢? 这里给个google的zram大小设置的说明: 这里看起来似乎除了android Go设备其他内存大于1G的设备都可以开到100%,而且从倒数第1、2条判断开启的zram大小跟cpu有很大关系,最大似乎只建议开4G,但是这份文档是18年or19年的。而现在的cpu对zram的资源消耗占比应该更低,建议的最大值应该调高。 不过根据zram的原理我这里有个更简单的判断方法,那就是根据自己的设备使用情况下个DevCheck查看下自己大部分情况下zram的占用如果比较满就可以扩大下,空闲太大了也可以适当的缩小下,或者觉得没必要开zram也可以直接关闭。
实现
有root的情况下很好实现,下载Scene4就可以实现修改zram,不过这个修改要app自启,所以秉承能使用magisk模块就决不使用app的宗旨,我决定自己写个magisk模块来实现这个功能, 首先需要了解安卓的zram的配置文件名称: 参考文章:zram disksize 设置 然后通过修改之前的模块通过shell命令调用vim来修改init.qcom.post_boot.sh。 最后效果如下,重启后通过DevCheck查看是否生效。
主要功能
- 支持按键选择要开启的zram的大小。
- 支持关闭zram。
- 支持自定义zram。
- 不会破坏原系统文件,安装完后不需要其他配置。
- 如果是不支持的rom模块不会生效。
下载链接
进qq群下载:273145623 也可以在GitHub下载:https://github.com/taoaoooo/Modify_the_Zram/releases
end
|