通过修改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查看是否生效。

主要功能

  1. 支持按键选择要开启的zram的大小。
  2. 支持关闭zram。
  3. 支持自定义zram。
  4. 不会破坏原系统文件,安装完后不需要其他配置。
  5. 如果是不支持的rom模块不会生效。

下载链接

进qq群下载:273145623
也可以在GitHub下载:https://github.com/ozingi/Modify_the_Zram/releases

通过android设备自身的init.qcom.post_boot.sh实现修改zram大小相关推荐

  1. 修改cpu控制文件init.qcom.post_boot.改调节器

    手机需要root, re或es管理器打开system/etc 找到文件init.qcom.post_boot.sh,以文本方式打开,找到这一句case "$target" in & ...

  2. android执行.sh,android中调整cpu频率以及执行sh文件简单记录

    注意:以下操作环境为win7 + android 5. 要想在android设备中执行sh文件,有2种方式. 一.一种是执行 adb  shell(注意 test.sh文件这里是放在跟adb工具一样的 ...

  3. Android 9(P)之init进程启动源码分析指南之一

         Android 9 之init进程启动源码分析指南之一 Android 9 (P) 系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 Andro ...

  4. Android源码阅读---init进程

    Android源码阅读-init进程 文章目录 Android源码阅读---init进程 1. 编译命令和进程入口 1. init 进程编译命令 2. main函数流程 2. 主函数处理流程 1. 创 ...

  5. Android设备音频部分一些概念

    Android设备音频部分一些概念 备注:基于高通平台 听筒是用来听对方传送过来的声音,手机放的MP3和开机铃声是从喇叭发出的. 听筒模式,就是手机上一般听电话的内置小耳机,声音较小. 扬声器模式,就 ...

  6. 以wifi为媒介,linux系统与android设备交互

    -.通过hostapd.dhcp和iptables创建wifi热点 我早在三年前,就注意android了.不过最近才买了台天宇w719,而之前我一直在用MTK平台手机. 买手机之前一个星期内,我通过互 ...

  7. Android系统10 RK3399 init进程启动(十五) 配置新产品

    配套系列教学视频链接: 安卓系列教程之ROM系统开发-百问100ask 说明 系统:Android10.0 设备: FireFly RK3399 (ROC-RK3399-PC-PLUS) 前言 前面几 ...

  8. android 设备驱动

    驱动概述 说到 android 驱动是离不开 Linux 驱动的.Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码).但 Andro ...

  9. ubuntu调试android设备不识别

    ubuntu14.04 调试android设备不识别 adb devices List of devices attached7b55de83 no permissions (verify udev ...

最新文章

  1. epub 电子书软件代码销售
  2. cCodeforces Round #286 (Div. 2)
  3. JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(1):Mybatis和Hibernate概念理解...
  4. 1.1 欢迎-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
  5. Prometheus 序章/第一/二讲
  6. 【Core Swagger】.NET Core中使用swagger
  7. Element中 el-tag 点击事件 el-tag添加@click事件无效
  8. 数据结构上机实践第四周项目3 - 单链表应用
  9. 韩顺平Java笔记(自用1)
  10. js 生成二维码 vue项目
  11. 微信测试点(八大点)
  12. 数学史上10个备受质疑的伟大时刻
  13. linux usb摄像头设备,Linux系统下USB摄像头驱动开发
  14. Emeditor -- windows最强txt编辑器,没有之一
  15. 软件架构-解密电商系统商品模块业务
  16. FineUI学习笔记1
  17. 如何高效管理自己的电脑?文件再多也不乱!
  18. 软件工程中五种常用的软件开发模型整理
  19. 禁止iphone浏览器拖动反弹(橡皮筋效果)
  20. cordova 调用蓝牙_ionic蓝牙插件(cordova-plugin-ble-central)(个人翻译转载请注明)

热门文章

  1. 想要永久清除微信记录?一招解决你的后顾之忧,再无法恢复
  2. 获得iphone手机动态ip地址
  3. 如何删除计算机中的管理员用户名和密码,电脑系统教程:Win10系统如何删除管理员账户密码...
  4. word2vec 模型及推导
  5. Photoshop中的通道是什么,有什么作用?
  6. poi导出兼容xls和xlsx时报错XmlValueDisconnectedException
  7. location对象常见属性
  8. LeetCode | 414. Third Maximum Number
  9. Windows 7远程桌面连接Ubuntu 14.04
  10. Unity坦克控制行走程序