欢迎来到 安卓源码空间!
安卓源码空间

                                修改android中dalvik虚拟机参数



说明


最近在了解虚拟机堆空间的参数,扩大APP的运行内存,主要了解几个参数,以及在源码中怎么设置这些值。


参数解释


上面说要了解的参数是这几个:


dalvik.vm.heapgrowthlimit=256m
dalvik.vm.heapstartsize=64m
dalvik.vm.heapsize=512m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=1m
dalvik.vm.heapmaxfree=8m


网上搜索一下,资料挺多的,大概是这样的(我自己理解,不要抠字眼):
dalvik.vm.heapstartsize:APP运行的时候分配给虚拟机的初始空间大小
dalvik.vm.heapgrowthlimit:初始分配给APP虚拟机的内存不够用的时候会自动扩张,这个值就是扩张的最大值。(扩张的内存是APP又向系统要的)
dalvik.vm.heapsize:这个值和上一个值的作用差不多,都是APP heap空间的最大值限定,然而这个值是APP使用大heap时的限定值。啥时候使用大heap?

就是APP的mainfest文件中有声明 android:largeHeap=“ture”,这个时候,堆空间的最大值使用heapsize限定;没有声明largeHeap的APP,堆空间使用heapgrowthlimit限定。
这三个值是描述dalvik空间的,剩下三个参数据说是和gc有关的。
dalvik.vm.heaptargetutilization:描述堆内存的利用率,是当前的有效变量所占内存和总内存的比值。
dalvik.vm.heapminfree:描述单次堆内存调整的最小值
dalvik.vm.heapmaxfree:描述单次堆内存调整的最大值

关于这个有很多解释,有一个博客还有个例子,老生动了,能理解:添加链接描述


imx6平台设置这几个值


在imx6平台我试过在mk文件修改这个配置,之后删除out目录下的build.prop,编译生成的文件中的参数并没有成功修改,这说明在其他地方修改了,

把我这个参数覆盖了,然后全局搜索一下,最后发现 frameworks/native/build/tablet-7in-hdpi-1024-dalvik-heap.mk这个文件下的参数配置和我现在的一样,

然后修改这个文件,删除out目录下的 build.prop文件,编译之后,发现新生成的 build.prop 文件中 的参数已经改变了,nice

copyright@ 2020-2028  安卓源码空间网版权所有   

备案号:豫ICP备2023034476号-1号