====== dexopt flags ======
===== Bytecode Verification =====
* verification v=
* v=n VERIFY_MODE_NONE
* v=r VERIFY_MODE_REMOTE
* v=a VERIFY_MODE_ALL (default)
* optimization o=
* o=n OPTIMIZE_MODE_NONE
* o=v OPTIMIZE_MODE_VERIFIED (default) only optimizes classes that successfully verified
* o=a OPTIMIZE_MODE_ALL
* o=f OPTIMIZE_MODE_FULL
* register map m=y
* uniprocessor target u=
* u=y DEXOPT_UNIPROCESSOR
* u=n DEXOPT_SMP
setprop dalvik.vm.dexopt-flags=m=y,o=v,u=y
setprop dalvik.vm.dexopt-flags "m=y,o=f,v=n"
setprop dalvik.vm.dexopt-flags "m=y"
setprop dalvik.vm.dexopt-flags "v=n,o=v"
====== dalvik ======
http://milk.com/kodebase/dalvik-docs-mirror/docs/embedded-vm-control.html
# dalvikvm --help
The following extended options are recognized:
-Xrunjdwp:
-Xbootclasspath:bootclasspath
-Xcheck:tag (e.g. 'jni')
-XmsN (min heap, must be multiple of 1K, >= 1MB)
-XmxN (max heap, must be multiple of 1K, >= 2MB)
-XssN (stack size, >= 1KB, <= 256KB)
-Xverify:{none,remote,all}
-Xrs
-Xint (extended to accept ':portable', ':fast' and ':jit')
These are unique to Dalvik:
-Xzygote
-Xdexopt:{none,verified,all,full}
-Xnoquithandler
-Xjnigreflimit:N (must be multiple of 100, >= 200)
-Xjniopts:{warnonly,forcecopy}
-Xjnitrace:substring (eg NativeClass or nativeMethod)
-Xstacktracefile:
-Xgc:[no]precise
-Xgc:[no]preverify
-Xgc:[no]postverify
-Xgc:[no]concurrent
-Xgc:[no]verifycardtable
-XX:+DisableExplicitGC
-X[no]genregmap
-Xverifyopt:[no]checkmon
-Xcheckdexsum
-Xincludeselectedop
-Xjitop:hexopvalue[-endvalue][,hexopvalue[-endvalue]]*
-Xincludeselectedmethod
-Xjitthreshold:decimalvalue
-Xjitblocking
-Xjitmethod:signature[,signature]* (eg Ljava/lang/String\;replace)
-Xjitcheckcg
-Xjitverbose
-Xjitprofile
-Xjitdisableopt
-Xjitsuspendpoll
====== Interpreter ======
* portable dalvik.vm.execution-mode=int:portable
* fast dalvik.vm.execution-mode=int:fast
* JIT dalvik.vm.execution-mode=int:jit
Not all platforms have an optimized implementation. In such cases,
the "fast" interpreter is generated as a series of C stubs, and the
result will be slower than the
"portable" version
===== Extended JNI Checks =====
Default RO: ro.kernel.android.checkjni
can be overriden by: dalvik.vm.checkjni
setprop dalvik.vm.checkjni true
To pass dalvik.vm.jniopts option as -Xjniopts argument.
setprop dalvik.vm.jniopts forcecopy
===== Stack size =====
setprop dalvik.vm.extra-opts "-Xss16K"
dalvik.vm.verify-bytecode false
# DISABLE ERROR CHECKING
ro.kernel.android.checkjni=0
dalvik.vm.checkjni=false
dalvik.vm.dexopt-data-only=1
dalvik.vm.heapsize=64m
dalvik.vm.verify-bytecode=false
dalvik.vm.lockprof.threshold=250
dalvik.vm.dexopt-flags=m=v,o=y
-Xverify:none -Xdexopt:verified
dalvik.vm.stack-trace-file=/data/anr/traces.txt
dalvik.vm.jmiopts=forcecopy
# MAKES APPS LOAD FASTER AND FREES MORE RAM / use only one of them
dalvik.vm.dexopt-flags=v=a,o=v,m=y,u=y
dalvik.vm.dexopt-flags m=y,o=v,u=y
dalvik.vm.dexopt-flags=m=y