注:需要 root 手机
原理
修改 android 系统 prop 中的 dalvik 堆大小
- -dalvik.vm.heapstartsize
堆分配的初始大小,调整这个值会影响到应用的流畅性和整体ram消耗 - -dalvik.vm.heapgrowthlimit
受控情况下的极限堆(仅仅针对dalvik堆,不包括native堆)大小 - -dalvik.vm.heapsize
不受控情况下的极限堆大小(即堆的最大值);这个值会影响非受控应用的dalvik heap size
步骤
- 进入 shell
adb shell
- 获取 root 权限
shell@shamu:/ $ su
- 设置 heapgrowthlimit 为 80m
root@shamu:/ # setprop dalvik.vm.heapgrowthlimit 80m
- 设置 heapsize 为 80m
root@shamu:/ # setprop dalvik.vm.heapsize 80m
- 重启 shell
root@shamu:/ # stop root@shamu:/ # start
- 查看 heapsize
root@shamu:/ # getprop dalvik.vm.heapsize 80m
若想恢复原始大小,重启即可
参考链接:
- android dalvik heap 浅析(讲得比较不错,挺形象)
https://blog.csdn.net/cqupt_chen/article/details/11068129 - android 如何使用命令设置heapsize
https://blog.csdn.net/xingyu19871124/article/details/8072588