2016-06-12 3 views
0

Я знаю, что могу это сделать (reference):Найти значение по умолчанию javaMaxHeapSize в Android

android { 
    ... 
    dexOptions { 
    maxProcessCount 4 // this is the default value 
    javaMaxHeapSize "2g" 
    } 
} 

Но как я знаю по умолчанию/текущее значение javaMaxHeapSize?

Мои платформы является Fedora 21 и ниже:

Android Studio 2.1.2 
Build #AI-143.2915827, built on May 26, 2016 
JRE: 1.8.0_74-b02 amd64 
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation 
+0

Постарайтесь, чтобы ваше приложение использовало не более 64 МБ coz на некоторых устройствах, из которых вы вышли из памяти) –

ответ

4

Это зависит от того, что вы имели в виду с:

Что такое значение по умолчанию javaMaxHeapSize?

Если вы хотите знать значение по умолчанию javaMaxHeapSize имущества в dexOptions, значение null.

Если вы не указали его, эта задача может продемонстрировать это:

task maxSize << { 
    println("Java max heap size is: ${project.android.dexOptions.getJavaMaxHeapSize()}") 
} 

Если вы хотите знать JVM размер макс кучи вместо этого (я думаю, что вы хотели знать об этом), это JVM аргумент которые могут меняться в зависимости от вашего устройства.

Цитирование Oracle документации:

максимальный размер кучи:

Меньшие 1/4 в физической памяти или 1 Гб. До J2SE 5.0 максимальный размер кучи по умолчанию составлял 64 МБ. Вы можете переопределить это значение по умолчанию с помощью параметра командной строки -Xmx.

Вы можете проверить его выполнение этой команды UNIX в терминале (как вы сказали, вы используете Fedora):

java -XX:+PrintFlagsFinal -version | grep MaxHeapSize 

Значение выражается в байтах.

+1

Эта команда unix будет JVM на компьютере, а не на устройстве Android, и я полагаю, что этот вопрос задает вопрос –

+1

@ cricket_007 mmh, свойство «javaMaxHeapSize» изменяет JVM args на компьютере, а не на Android-устройстве. –

+0

Правильно, мне было просто интересно, почему вы упомянули кусок Fedora –

Смежные вопросы