dalvik.vm.heapstartsize=8m
相当于虚拟机的 -Xms配置,该项用来设置堆内存的初始大小。
dalvik.vm.heapgrowthlimit=192m
相当于虚拟机的 -XX:HeapGrowthLimit配置,该项用来设置一个标准的应用的最大堆内存大小。
一个标准的应用就是没有使用android:largeHeap的应用。
dalvik.vm.heapsize=512m
相当于虚拟机的 -Xmx配置,该项设置了使用android:largeHeap的应用的最大堆内存大小。
dalvik.vm.heaptargetutilization=0.75
相当于虚拟机的 -XX:HeapTargetUtilization,该项用来设置当前理想的堆内存利用率。其取值位于0与
1之间。当GC进行完垃圾回收之后,Dalvik的堆内存会进行相应的调整,
通常结果是当前存活的对象的大小与堆内存大小做除法,得到的值为这个选项的设置,即这里的0.75
。
dalvik.vm.heapminfree=4m与 dalvik.vm.heapmaxfree=8m
dalvik.vm.heapminfree对应的是-XX:HeapMinFree配置,用来设置单次堆内存调整的最小值。
dalvik.vm.heapmaxfree 对应的是-XX:HeapMaxFree配置,用来设置单次堆内存调整的最大值。
通常情况下,还需要结合上面的 -XX:HeapTargetUtilization的值,才能确定内存调整时,
需要调整的大小。
http://androidxref.com/8.0.0_r4/xref/frameworks/base/core/java/android/app/ActivityThread.java
if ((data.appInfo.flags&ApplicationInfo.FLAG_LARGE_HEAP) != 0) {
dalvik.system.VMRuntime.getRuntime().clearGrowthLimit();
} else {
// Small heap, clamp to the current growth limit and let the heap release
// pages after the growth limit to the non growth limit capacity. b/18387825
dalvik.system.VMRuntime.getRuntime().clampGrowthLimit();
}
ApplicationInfo.FLAG_LARGE_HEAP就是对应android:largeHeap=true,进行了clearGrowthLimit
http://androidxref.com/8.0.0_r4/xref/frameworks/base/services/java/com/android/server/SystemServer.java
// Mmmmmm... more memory!
VMRuntime.getRuntime().clearGrowthLimit();
// The system server has to run all of the time, so it needs to be
// as efficient as possible with its memory usage.
VMRuntime.getRuntime().setTargetHeapUtilization(0.8f);
分享到:
相关推荐
Dalvik VM Instruction Formats
08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk] 我想大家经常因为疏忽出现...
Dalvik虚拟机内存管理
深入理解Android之dalvik.pdf
NULL 博文链接:https://jameskaron.iteye.com/blog/2291495
cts:Android兼容性测试套件标准.pdf dalvik:dalvik 虚拟机.pdf developers:开发者参考文档目录.pdf development:Android开发基础设施.pdf device:设备相关配置.pdf external:Android中使用的外部开源 frameworks:...
Android虚拟机Dalvik完整源码
北航云计算公开课09 Mobile Phone and Android Dalvik.pdf
java.lang.UnsatisfiedLinkError: Couldn't load stlport_shared from loader dalvik.system.PathClassLoader: findLibrary returned null at java.lang.Runtime.loadLibrary(Runtime.java:365) at java.lang.System...
android虚拟机内部原理剖析。。 深入浅出,值得一看
这是一个替换系统属性“ ro.dalvik.vm.native.bridge”以注入合子进程的示例。 我已经在我的Google Pixel 3(Android 10,Magisk 20.4)上对其进行了测试,它似乎运行良好; 但是它可能不兼容所有设备,如果要使用...
AndroidRuntime: java.lang.UnsatisfiedLinkError: Couldn’t load airtalkee from loader dalvik.system.PathClassLoader[DexPathList[[zip file “/system/app/POCM3A.apk”, zip file “/data/data/com.cmccpo
loadLibrary msc error:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.example.xflinean-1/base.apk”],nativeLibraryDirectories=[/vendor/lib, /system/...
Android_Dalvik_VM_Internals_Google__
Soruce code for MIPS version implemetation
NULL 博文链接:https://mysuperbaby.iteye.com/blog/1392516
java.lang.UnsatisfiedLinkError: Couldn't load stlport_shared from loader dalvik.system.PathClassLoader: findLibrary returned null at java.lang.Runtime.loadLibrary(Runtime.java:365) at java.lang....
解析DEX文件的指令列表时需要用到。 此文档出处是android2.3.7源码。
Under the Hood: Dalvik patch for Facebook for Android Implemention By David Reiss on Monday, March 4, 2013 at 1:59pm Facebook is one of the most feature-rich apps available for Android. With features ...
linux-x86下的android虚拟机dalvik。可以在linux下运行android的dex。./dalvik/dalvik -cp g.dex:gg.dex GoogleDevlik