在11.0的系统rom开发定制中,app应用也是运行在dalvik虚拟机上的,所以对于一些内存低的系统中,在某些大应用会出现耗内存
卡顿情况,这是系统分配的内存不够大,在进行耗内存的操作,就会出现频繁gc等等原因造成不流畅的现象,接下来就分析下
虚拟机分配内存的相关原理
vendor\sprd\generic\misc\system\core\init\init_expand.rc
framework/native/build/tablet-7in-xhdpi-2048-dalvik-heap.mk
art/runtime/runtime.cc
dalvik虚拟机内存分配参数说明:
dalvik.vm.heapstartsize:堆分配的初始大小。这个值越大应用启动越流畅。
这里分配的内存容量会影响到整个系统对RAM的使用程度,和第一次使用应用程序时的流畅程序。
这个值越大,系统消耗RAM则越快,但是应用程序打开后的反应也越快。
值越小,系统的RAM剩余则越多,但是程序在启动后会比较慢
dalvik.vm.heapgrowthlimit:正常情况下(即未设置android:largeHeap="true")dalvik能申请到的最大堆内存,超过这个大小将会引发oom(out of memory)异常。
dalvik.vm.heapsize:所有情况下(包括设置android:largeHeap="true"的情形