Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Android Studio, Gradle, увеличение производительности | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 1
 
Поиск в этой теме:
Железный канал: «Android Studio, Gradle, увеличение производительности»
Vostok-1
 155 EGP


Рейтинг канала: 3(39)
Репутация: 24
Сообщения: 394

Зарегистрирован: 15.08.2015
Один наш немаленький проект в Android Studio компилируется от 4 до 10 минут, в зависимости от типа диска, SSD или HDD. Я расскажу, как мы сократили время компиляции до 30-50 секунд. Вдруг кому-нибудь пригодится.

Требования к компьютеру не сильно высокие: это должна быть машина, на которой запускается Android Studio. Важно только иметь много памяти: столько, чтобы можно было пожертвовать 2-мя гигами для Gradle и определенным количеством памяти для виртуального диска.

Сначала нужно установить RAM Drive. Мы использовали
 Cкрытый текст   (кликните здесь для просмотра)
, поскольку он бесплатный и справляется с возложенными на него задачами.

Затем создаём диск и назначаем ему букву (допустим, R). Размер диска должен быть таким, чтобы на нём помещались все временные файлы, создаваемые компилятором и чтобы не пришлось жертвовать слишком большим объёмом памяти. Мы начали с 2-х гигов, затем повысили до 4-х, на всякий случай.

На диске создаём папку gradle-temp, в ней папки build, opts и user-home.

В переменных среды (Пуск -> ПКН на "Компьютер" -> Свойства -> Дополнительные параметры системы -> Переменные среды пользователя для username -> Создать) создаём две переменных:
Код:
GRADLE_OPTS = -Djava.io.tmpdir=R:\gradle-temp\opts -Xms2048m -Xmx8192m -XX:MaxPermSize=2048m -XX:ReservedCodeCacheSize=1024m
GRADLE_USER_HOME = [b]R:\gradle-temp\user-home


 Попутно...   (кликните здесь для просмотра)
Можно создать папку R:\Temp и указать её в переменных TEMP и TMP пользователя и системы. Браузеры и некоторые другие штуковины начнут летать. Но вы должны убедиться, что виртуальный диск пересоздаётся при запуске системы и следить за состоянием этой папки, время от времени удаляя мусор из неё.


Закорючки "-Xms2048m -Xmx8192m -XX:MaxPermSize=2048m -XX:ReservedCodeCacheSize=1024m" в GRADLE_OPTS являются настройками памяти для виртуальной машины, вы можете их погуглить, если кому надо.


В файл R:\gradle-temp\user-home\init.gradle прописываем:
Код:
allprojects {
    buildDir = "R:/gradle-temp/build/${rootProject.name}/${project.name}"
}


Делаем sync, clean, rebuild, радуемся.
_________________
"The gods do not protect fools.
Fools are protected by more capable fools."

Larry Niven

Последний раз редактировалось: Vostok-1 (13:05 19-08-2016), всего редактировалось 4 раз(а)
    Добавлено: 17:17 04-08-2016   
Железный канал: «Android Studio, Gradle, увеличение производительности»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Господа, давайте быть реалистами! Если и махнуть в прошлое, то не для "мира во всём мире", а, как и подобает настоящим жентельменам - на пикник, расслабиться. (Leshik)

  » Android Studio, Gradle, увеличение производительности | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18