分享

关于build.prop原始Dalvik虚拟机设定与调整

 逗咳嗽 2012-12-25

关于build.prop原始Dalvik虚拟机设定与调整

原厂S3 台版 1GB Ram
system/build.prop原始Dalvik虚拟机设定是这样子的

1.dalvik.vm.heapstartsize=8m(表示应用程序启动后为其分配的初始大小为8m)
这里分配的内存容量会影响到整个系统对RAM的使用程度,和第一次使用应用程序时的流畅程序。
这个值越大,系统消耗RAM则越快,但是应用程序打开后的反应也越快。
值越小,系统的RAM剩余则越多,但是程序在启动后会比较慢。

2.dalvik.vm.heapgrowthlimit=64m(每个应用程序最大内存可分配到64m)
超过就会崩溃,退出该app...我猜没错的话

3.dalvik.vm.heapsize=256m(单个虚拟机可分配的最大内存256m)
这里分配的内存容量会影响到整个系统对RAM的使用程序,和程序在运行一段时间后的反应速度。这个值越大,系统消耗RAM则越快,但是程序会运行的非常稳 定,尤其是游戏和视频程序的内容加载速度可以大幅度提升。值越小,系统的RAM剩余则越多,但是程序会很卡,尤其是游戏在切换场景Loading的时候会 花费很多的时间。若应用程序需要使用超过这个值的内存时,将会触发系统的垃圾收集器,系统和程序就会卡顿。

用上面设定的话
每开启一只app,系统就会划出8m的动态内存给该程式使用,超过的部分会再+8m
共可以+7次8m,包含一开始划出的8m,总共64m,这是单一只程式的最大动态内存使用量
超过的话,该程式就会崩溃(自动结束掉)
单个虚拟机可分配的最大内存256m,意思是可以装满64m内存的程式X4
超过的部分就会对虚拟机内的程式强制回收内存,一方面要先强制关掉一些程式,一方面要加载程式划分新的内存,这时候就会出现卡卡卡、顿顿顿

因为每个人使用习惯不同,有时爱装一堆widget(小工具)在桌面上,单单摆在桌面上也不常使用他
也许单一widget只要3-5m,如果今天一开始就划分8m内存给他,对于一个常驻不到5M的程式
,就多浪费3M的内存,一般原厂rom闲置程序+后台程序就约30个,每个都浪费约3M内存
就将近浪费90M
所以我们可以将
1.dalvik.vm.heapstartsize=8m,改为=4M后重开机
光待机其况下你就会发现使用中内存变少了,可用内存变多了,虽然你在使用桌面小工具时候
可能不会比当初还要顺,因为系统还在帮该程式划分新的内存空间,但也不至于顿

2.dalvik.vm.heapgrowthlimit=64m不用改,现在的app在前景中都吃很大内存
若改小成32m,那假设程序内存要吃到40m才会够用,该程式可能就当给你看

3..dalvik.vm.heapsize=256m(单个虚拟机可分配的最大内存256m),虽然是写单个虚拟机,但系统到底会产生多少个虚拟机...我不确定,但唯一确定是不超过实际ram的可用量
记得S3虽然是配1G RAM,但实际上看到好像是780M吧(其他好像是GPU用掉了)
780/256=3...,大概就是3个虚拟机左右(应该是这样)
想要看到更多ram的人可以将256改为128m,重开机后...你会发现可用内存又变多了...
但一样,开启新程式时候要再+128划分新的虚拟机,速度可能慢一些,但不会顿,又可节省内存的不必要浪费

以上是牺牲一些开启速度,但可以减缓被系统强制回收内存的顿挫感
---------------------------------------------------------------------------
小弟我第一次打这么大篇瞎掰文,各位当作参考就好不要完全相信
关于root后修改build.prop当掉、死机、变砖,请不要晚上来找我~谢谢
---------------------------------------------------------------------------
懒人总结 S3 台版
1.想要装很多widget小工具到桌面的,推荐
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=40m
dalvik.vm.heapsize=160m
也许开启程式没那么快,但比较不卡顿,且可用内存会比较多
--------------
2.只要玩游戏、桌面很干净很无聊的、不安装其他widget小工具
dalvik.vm.heapstartsize=16m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=384m
加载大型程式或游戏比较快,缺点是可用内存会比较小

-----------------------------------------
S3 LTE (I9305)默认dalvik也是跟S3一样
但是可以改成(我也是这样设定)
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=576m(1750/576=3...)可以做出3个虚拟机。
(576/8)在8M以下的程式可以有72只闲置程式
(576/64)一个虚拟机可以容纳9只多工


小弟我前几天买了人生中第一只三星的手机,还在学习新功能XD

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多