From bdcef70e15e86e592d725355c96c7fab0b85ac83 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Tue, 18 Aug 2009 19:15:36 -0700 Subject: Fix issue #2010965: Increase process size on WVGA devices This introduces a new system property to set the max vm size. The default is still 16mb. --- core/jni/AndroidRuntime.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'core/jni/AndroidRuntime.cpp') diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index 2e73372..f61e247 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -525,6 +525,7 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) char dexoptFlagsBuf[PROPERTY_VALUE_MAX]; char enableAssertBuf[sizeof("-ea:")-1 + PROPERTY_VALUE_MAX]; char jniOptsBuf[sizeof("-Xjniopts:")-1 + PROPERTY_VALUE_MAX]; + char heapsizeOptsBuf[sizeof("-Xmx")-1 + PROPERTY_VALUE_MAX]; char* stackTraceFile = NULL; bool checkJni = false; bool checkDexSum = false; @@ -597,16 +598,10 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) mOptions.add(opt); //options[curOpt++].optionString = "-verbose:class"; -#ifdef CUSTOM_RUNTIME_HEAP_MAX -#define __make_max_heap_opt(val) #val -#define _make_max_heap_opt(val) "-Xmx" __make_max_heap_opt(val) - opt.optionString = _make_max_heap_opt(CUSTOM_RUNTIME_HEAP_MAX); -#undef __make_max_heap_opt -#undef _make_max_heap_opt -#else - /* limit memory use to 16MB */ - opt.optionString = "-Xmx16m"; -#endif + strcpy(heapsizeOptsBuf, "-Xmx"); + property_get("dalvik.vm.heapsize", heapsizeOptsBuf+4, "16m"); + //LOGI("Heap size: %s", heapsizeOptsBuf); + opt.optionString = heapsizeOptsBuf; mOptions.add(opt); /* -- cgit v1.1