Содержание
- Ресурсоемкие программы
- Фоновые программы
- Мало места
- 4. Нехватка памяти
- Как увеличить скорость сборки проекта
- Убедитесь, что вы всегда используете последнюю версию Gradle.
- 2. Постарайтесь свести к минимуму использование модулей
- Включите автономную работу Gradle
- Используйте Gradle Daemon
- Используйте распараллеливание процесса сборки
- Оптимизируйте конфигурацию проекта перед сборкой
- Настройте параметры компиляции проекта
- Избегайте динамических зависимостей
- Используйте только нужные зависимости
- Полезные материалы:
Ресурсоемкие программы
Наличие особо прожорливых приложений, работающих в фоновом режиме, может действительно вызвать значительное снижение производительности и времени работы от батареи. Всякие виджеты на рабочем столе, обновляющие новости или погоду, фоновая синхронизация и push-уведомления могут не дать вашему гаджету спокойно спать или вызывать время от времени заметные лаги при работе в другом приложении. Обычно бывает довольно сложно понять, какая программа является причиной.
Решение
Чтобы узнать, какие приложения являются причиной проблемы, попробуйте использовать Wakelock Detector. После установки программы зарядите свой гаджет более чем на 90%, затем отключите устройство от зарядки и дайте программе в течение 1–2 часов собрать статистику использования батареи и процессора.
После этого откройте Wakelock Detector и вы сможете увидеть статистику всех ваших запущенных приложений. Приложения в верхней части списка являются самыми большими потребителями ресурсов устройства.
Загрузить QR-Code Разработчик: UzumApps Цена: Бесплатно
Фоновые программы
Если у вас есть приложения, которые вызывают падение производительности Android, то у вас есть возможность поковыряться в их настройках и отключить некоторые их функции или, например, выставить больший период синхронизации и так далее. Другой вариант — заморозить приложение, что уже близко к удалению и не подойдет в том случае, если вы хотите иногда пользоваться программой.
Однако есть и третий способ.
Вы можете поместить приложение в глубокий сон. Спящие программы будут просыпаться и выполнять как обычно свои функции при нажатии на иконку. Чтобы воспользоваться этим способом попробуйте Greenify (требуется Root).
После установки программы нажмите кнопку +, и вы перейдете на страницу App Analyzer. На приложения, перечисленные в разделах Running in background и May slow down the device when… необходимо обратить особое внимание, так как это потенциальные виновники тормозов. Выделите те из них, которые вы хотите усыпить и нажмите Accept в правом верхнем углу, чтобы отправить их в сон.
Загрузить QR-Code Разработчик: Oasis Feng Цена: Бесплатно
Мало места
Некоторые устройства страдают от нехватки пространства на накопителе и начинают просто отвратительно работать, как только место в устройстве заполняется на 80% или более. Если ваш смартфон демонстрирует подобные признаки торможения, то может быть сейчас самое время, чтобы сделать генеральную уборку. Учтите, что удаленные вами файлы, на самом деле еще можно восстановить, пока вы не создадите пустые файлы, которые их заменят.
Очистить ваше устройство от цифрового хлама поможет известнейший Clean Master. Приложение было загружено из Google Play более 500 миллионов раз, а потому сомневаться в его эффективности нет никаких причин.
Приложение не найдено
После установки и запуска утилиты вы увидите окно программы, в верхней части которого отображаются сведения о размере свободного места на устройстве и SD-карте, а в нижней части расположены основные функциональные кнопки. С их помощью вы сможете убрать из мобильного всё ненужное буквально в один тап.
Впрочем, в последнее время пользователи жалуются на некоторую перегруженность и утяжеление Clean Master, и если вы наблюдаете схожие симптомы при использовании этого приложения, то обратите внимание на более шустрые и лёгкие альтернативы Clean Master. В частности, довольно неплохо себя показывает CCleaner.
Загрузить QR-Code Разработчик: Piriform Цена: Бесплатно
4. Нехватка памяти
По поводу методов работы Android c оперативной памятью сломано уже много копий и неоднократно доказано, что постоянная очистка оперативной памяти не нужна. Однако при запуске особо требовательных программ, например современных трехмерных игр, вам может понадобиться максимальное количество памяти, для чего необходимо завершить все фоновые и неиспользуемые программы.
В данном случае вам снова помогут CCleaner и Clean Master. Второй особо примечателен тем, что помимо функции очистки оперативной памяти и остановки ненужных фоновых служб и приложений, имеет выделенную опцию оптимизации игр.
Приложение не найдено
В этой статье мы рассмотрим систему сборки Android проектов Gradle. Также узнаем почему она такая медленная и рассмотрим 9 способов ускорить сборку Gradle проекта в Android Studio.
Что такое Gradle?
Gradle — это система сборки проектов. Она является следующим шагом в эволюции инструментов сборки на основе виртуальной Java машины (JVM). Gradle вобрал в себя лучшие идеи существующих инструментов (Ant и Maven), а также добавил больше гибкости и свободы в конфигурации сборки.
Кроме преимуществ новый подход несет и новые проблемы: даже самый простой Gradle вызов происходит довольно медленно. На ноутбуке среднего класса запуск простой задачи с выводом списка доступных задач проекта занимает не меньше 10 секунд. Официальная IDE для разработки Android приложений — Android Studio и в ней используется Gradle.
Android проекты становятся все более сложными, набирает популярность модульный подход разработки, поэтому производительность в новых реалиях имеет решающее значение. Увеличение скорости сборки проекта всего на несколько секунд дает хороший прирост в производительности.
Как увеличить скорость сборки проекта
Ниже я собрал методы, которые использую при сборке Gradle проекта:
Убедитесь, что вы всегда используете последнюю версию Gradle.
Как правило, с каждым новым обновлением существует значительное улучшение производительности. Если вовремя ставить новые версии и обновления, которые Android Studio предлагает сразу после загрузки, то проблем с устаревшей версией Gradle быть не должно.
2. Постарайтесь свести к минимуму использование модулей
Иногда приходится форкнуть какую-то библиотеку, чтобы кое-что подправить или изменить под свои нужды. Избегайте таких ситуаций, так как сборка модуля занимает в ~4 раза больше времени, чем любая jar или aar зависимость. Это происходит потому, что модуль каждый раз должен быть перестроен с нуля.
Включите автономную работу Gradle
Поставить галочку возле пункта автономной работы можно по пути: Preferences => Build, Execution, Deployment => Build Tools => Gradle. Это не позволит Gradle получить доступ к сети во время сборки и заставит его работать с зависимостями проекта в своем кэше.
Обратите внимание, что эта функция корректно работает только тогда, когда все зависимости уже успешно загружены и сохранены в кэше. Если вам нужно изменить или добавить новую зависимость в файлике build.gradle, то придется отключить опцию автономной работы — иначе «сборка завалится».
Используйте Gradle Daemon
Откройте файл gradle.properties в корне вашего проекта и добавьте следующую строчку кода:
org.gradle.daemon=true
Это позволяет сэкономить время, нужное для старта Gradle, так как он становится фоновым процессом. Следует отметить, что после добавление этой опции Gradle будет потреблять еще больше оперативной памяти при сборке проекта.
Используйте распараллеливание процесса сборки
org.gradle.parallel=true
Эта строчка позволяет выполнять компиляцию нескольких модулей одновременно. Обратите внимание, что это даст прирост производительности только в случае, если у вас сложный проект со множеством модулей.
Оптимизируйте конфигурацию проекта перед сборкой
Добавьте опцию org.gradle.configureondemand=true и Gradle сможет проверять изменения на уровне проекта и повторно использовать конфигурацию.
Gradle настраивает каждый проект перед выполнением задач независимо от того, действительно ли нужна она для конкретной сборки. Режим «Конфигурация по требованию» изменяет стандартное поведение. Как и в параллельном режиме, эта опция будет иметь наибольший эффект в проектах с множеством модулей.
Настройте параметры компиляции проекта
Замените стандартные настройки использования памяти на следующие:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Это позволит Java-компилятору использовать до 2Гб (параметр -Xmx2048m) доступной оперативной памяти. Разумеется, делать это можно только в случае, если у вас есть объем доступной памяти больше, чем 2 Гб.
Избегайте динамических зависимостей
Пример: compile ‘com.android.support:design:+’
Вот этот плюсик (+) в конце говорит нам о том, что используется динамическая зависимость.
Динамические зависимости замедляют сборку, так как поиск последней версии происходит при каждом билде. Для повышения эффективности нам необходимо четко зафиксировать версию.
Используйте только нужные зависимости
Всегда добавляйте в проект максимально точно определенную зависимость. Например, нам в проекте нужны только карты от Google. Вместо того, чтобы писать так:
compile ‘com.google.android.gms:play-services:10.0.1’
следует всегда писать так: