Search code examples
androidheap-memorydalvik

query on properties in /system/build.prop


Could some one please explain me regarding the below properties in build.prop,

dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=128m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=512k
dalvik.vm.heapmaxfree=2m

Thanks for your help.


Solution

  • Walking through the list:

    dalvik.vm.heapstartsize=5m
    

    This is converted to a -Xms option for Dalvik. It specifies the initial size of the managed heap.

    dalvik.vm.heapsize=128m
    

    This is converted to a -Xmx option for Dalvik. It specifies the maximum size of the managed heap.

    dalvik.vm.heapgrowthlimit=48m
    

    This converts to a -XX:HeapGrowthLimit option. It specifies the maximum size of a "standard" app's heap. If the app uses android:largeHeap in its manifest, it uses the full heapsize value instead.

    dalvik.vm.heaptargetutilization=0.75
    

    This converts to a -XX:HeapTargetUtilization option. It gives the VM a hint as to how full the managed heap should be allowed to become.

    dalvik.vm.heapminfree=512k
    dalvik.vm.heapmaxfree=2m
    

    These converts to -XX:HeapMinFree and -XX:HeapMaxFree, respectively. These are used in conjunction with the the XX:HeapTargetUtilization to determine how much to grow the heap when the heap needs to grow.

    For more details, see the HeapSource sources.