说到这里,我们来看看虚拟机的几个重要参数的意义。
dalvik.vm.heapstartsize
堆分配的初始大小,调整这个值会影响到应用的流畅性和整体ram消耗。这个值越小,系统ram消耗越慢,但是由于初始值较小,一些较大的应用需要扩张这个堆,从而引发gc和堆调整的策略,会应用反应更慢。相反,这个值越大系统ram消耗越快,但是程序更流畅。
dalvik.vm.heapgrowthlimit
极限堆大小,dvm heap是可增长的,但是正常情况下dvm heap的大小是不会超过dalvik.vm.heapgrowthlimit的值。如果受控的应用dvm heap size超过该值,则将引发oom。
dalvik.vm.heapsize
使用大堆时,极限堆大小。一旦dalvik heap size超过这个值,直接引发oom。在android开发中,如果要使用大堆,需要在manifest中指定android:largeHeap为true。这样dvm heap最大可达dalvik.vm.heapsize。
[dalvik.vm.heaptargetutilization]: [0.75] 可以设定内存利用率的百分比,当实际的利用率偏离这个百分比的时候,虚拟机会在GC的时候调整堆内存大小,让实际占用率向个百分比靠拢。
热门小组
小组达人
残念Renown
虎虎很帅
ponyo是红头发
千舞梦三
最新话题




坐在云端看灰机
2015-05-02 [有回复] HM NOTE 1LTE通过调节虚拟堆大小提升运行效率
首先打开/system/路径下build.porp文件,找到以下代码,建议ram内存最低不低于1g,不然修改后会很卡
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=384m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=512k
dalvik.vm.heapmaxfree=8m
可能具体的值会不同,大致就是这样了
1G内存 修改后的数据
dalvik.vm.heapstartsize=32m
dalvik.vm.heapgrowthlimit=256m
dalvik.vm.heapsize=512m
dalvik.vm.heaptargetutilization=0.57
dalvik.vm.heapminfree=1m
dalvik.vm.heapmaxfree=32m
2G内存 修改后的数据
dalvik.vm.heapstartsize=64m
dalvik.vm.heapgrowthlimit=512m
dalvik.vm.heapsize=1024m
dalvik.vm.heaptargetutilization=0.37
dalvik.vm.heapminfree=2m
dalvik.vm.heapmaxfree=64m
直接改动数字就行了~