获取Dalvik初始分配的内存大小
1. 查看/system/build.prop文件
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=192m
dalvik.vm.heapsize=512m
- dalvik.vm.heapstartsize=8m 相当于虚拟机的 -Xms配置,该项用来设置堆内存的初始大小。
- dalvik.vm.heapgrowthlimit=192m 相当于虚拟机的 -XX:HeapGrowthLimit配置,该项用来设置一个标准的应用的最大堆内存大小。一个标准的应用就是没有使用android:largeHeap的应用。
- dalvik.vm.heapsize=512m 相当于虚拟机的 -Xmx配置,该项设置了使用android:largeHeap的应用的最大堆内存大小。
2. 使用adb查看
- adb shell getprop|grep dalvik.vm.heapstartsize 应用启动后分配的初始内存
- adb shell getprop|grep heapgrowthlimit 单个标准应用程序最大内存限制(没设置android:largeHeap)
- adb shell getprop|grep dalvik.vm.heapsize 单个dalvik虚拟机最大的内存限制(设置了android:largeHeap)
3.使用ActivityManager
ActivityManager activityManager =(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.getMemoryClass();
activityManager.getLargeMemoryClass();
- ActivityManager的getMemoryClass()获得内用正常情况下内存的大小
- ActivityManager的getLargeMemoryClass()可以获得开启largeHeap最大的内存大小
在application元素上加入android:largeHeap=”true”申请大内存