tutorial - La creación y ejecución de aplicaciones a través de Gradle y Android Studio es más lenta que a través de Eclipse
software android studio (27)
Actualizar después de Android Studio 2.3
Todas las respuestas son excelentes, y aliento a usar esos métodos con este para mejorar la velocidad de construcción.
Después del lanzamiento de Android 2.2 en septiembre de 2016, Android lanzó la función experimental de creación de memoria caché para acelerar el gradle
construcción de gradle
, que ahora es oficial desde Android Studio 2.3 Canary. (Nota oficial de lanzamiento)
Presenta una nueva función de caché de compilación, que está habilitada de forma predeterminada, puede acelerar los tiempos de compilación (incluidas las compilaciones completas, las compilaciones incrementales y la ejecución instantánea) al almacenar y reutilizar los archivos / directorios que se crearon en compilaciones anteriores del mismo o diferente Android. proyecto.
Cómo utilizar:
Agregue la siguiente línea en su archivo gradle.properties
android.enableBuildCache = true
# Set to true or false to enable or disable the build cache. If this parameter is not set, the build cache is enable by default.
Limpie el caché:
Hay una nueva tarea de Gradle llamada
cleanBuildCache
para que pueda limpiar más fácilmente el caché de compilación. Puedes usarlo escribiendo lo siguiente en tu terminal:./gradlew cleanBuildCache
O bien, puede limpiar el caché para Android studio 2.2 eliminando todos los archivos almacenados en la ubicación
C:/Users/<username>/.android/build-cache
Tengo un multiproyecto (~ 10 módulos) cuyo edificio toma alrededor de 20-30 segundos cada vez. Cuando presiono Ejecutar en Android Studio, tengo que esperar cada vez que reconstruyo la aplicación, lo cual es extremadamente lento.
¿Es posible automatizar el proceso de construcción en Android Studio? ¿O tienes algún consejo sobre cómo hacer este proceso más rápido?
En Eclipse, gracias a la creación automática, ejecutar el mismo proyecto en un emulador tarda unos 3-5 segundos.
Este es mi archivo build.gradle (módulo de aplicación):
buildscript {
repositories {
maven { url ''http://repo1.maven.org/maven2'' }
}
dependencies {
classpath ''com.android.tools.build:gradle:0.4''
}
}
apply plugin: ''android''
dependencies {
compile fileTree(dir: ''libs'', include: ''*.jar'')
compile project('':libraries:SharedLibs'')
compile project('':libraries:actionbarsherlock'')
compile project('':libraries:FacebookSDK'')
compile project('':libraries:GooglePlayServices'')
compile project('':libraries:HorizontalGridView'')
compile project('':libraries:ImageViewTouch'')
compile project('':libraries:SlidingMenu'')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 16
}
}
Hardware
Lo siento, pero la actualización de la estación de desarrollo a SSD y toneladas de memoria RAM probablemente tenga una influencia mayor que los puntos que se muestran a continuación.
Versiones de herramientas
Aumentar el rendimiento de la compilación es una de las principales prioridades para los equipos de desarrollo, así que asegúrese de estar utilizando el último Gradle y Android Gradle Plugin .
Archivo de configuración
Cree un archivo llamado gradle.properties
en el directorio que corresponda:
-
/home/<username>/.gradle/
(Linux) -
/Users/<username>/.gradle/
(Mac) -
C:/Users/<username>/.gradle
(Windows)
Adjuntar:
# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e#.krd1mm27v
org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true
# Set to true or false to enable or disable the build cache.
# If this parameter is not set, the build cache is disabled by default.
# http://tools.android.com/tech-docs/build-cache
android.enableBuildCache=true
Las propiedades de Gradle funcionan de forma local si las coloca en projectRoot/gradle.properties
y globalmente si las coloca en user_home/.gradle/gradle.properties
. Propiedades aplicadas si ejecuta tareas de Gradle desde la consola o directamente desde la idea:
Configuraciones IDE
Es posible modificar la integración de Gradle-IntelliJ desde la GUI de configuración de IDE. Al habilitar el "trabajo sin conexión" (verifique la respuesta de yava continuación), se deshabilitarán las solicitudes de red reales en cada "archivo de sincronización de sincronización".
Nativo multi-dex
Uno de los pasos más lentos de la compilación de apk es convertir el código de bytes de Java en un solo archivo dex. Habilitar multidex nativo (minSdk 21 solo para compilaciones de depuración) ayudará a las herramientas a reducir la cantidad de trabajo (verifique la respuesta de Aksel Willgert a continuación).
Dependencias
Prefiere dependencias @aar
en lugar de subproyectos de bibliotecas.
Busque el paquete aar en mavenCentral , jCenter o use jitpack.io para construir cualquier biblioteca desde github. Si no está editando las fuentes de la biblioteca de dependencias, no debe compilarlas todas las veces con las fuentes de sus proyectos.
Antivirus
Considere excluir los archivos de proyecto y caché del análisis antivirus. Esto es obviamente un intercambio con seguridad (¡no intentes esto en casa!). Pero si cambia mucho entre sucursales, entonces el antivirus volverá a escanear los archivos antes de permitir que el proceso de gradle lo use, lo que ralentiza el tiempo de compilación (en particular, el proyecto de sincronización de AndroidStudio con los archivos de gradle y las tareas de indexación). Mida el tiempo de compilación y procese la CPU con y sin el antivirus habilitado para ver si está relacionado.
Perfilando una construcción
Gradle tiene soporte incorporado para proyectos de perfiles . Diferentes proyectos están utilizando una combinación diferente de complementos y scripts personalizados. El uso de --profile
ayudará a encontrar cuellos de botella.
Busqué en todas partes para esto y finalmente encontré una solución que funciona para nosotros. Habilitar compilaciones paralelas (en OSX: preferences -> compiler -> gradle -> "Compile independent modules in parallel"
) y habilitar "crear proyecto automáticamente" lo redujo de ~ 1 min a ~ 20 seg. Gracias a / u / Covalence.
http://www.reddit.com/r/androiddev/comments/1k3nb3/gradle_and_android_studio_way_slower_to_build/
De acuerdo con la documentación de Android , agregue esto en el archivo gradle del módulo de la aplicación.
android {
...
dexOptions {
preDexLibraries true
maxProcessCount 8
}
}
Después de cambiar esta configuración, mi duración de compilación de 10 minutos cambió a ~ 10 segundos.
Paso 1:
Configuraciones (ctrl + Alt + S) ->
Construcción, Ejecución, Despliegue ->
Compilador ->
escriba "
--offline
" en el cuadro de opciones de la línea de comandos.
Paso 2:
Marque la casilla de verificación "Compilar módulos independientes en paralelo".
y haga clic en Aplicar -> Aceptar
Referencia - https://www.sundoginteractive.com/blog/speed-up-gradle-in-android-studio
Desventaja:
No podrá desplegar las últimas versiones de las dependencias identificadas en su archivo build.gradle. Se ejecuta más rápido porque utiliza una instantánea en caché de esas bibliotecas importadas.
Nota importante : Al implementar la aplicación, elimine esta configuración y compile con las últimas versiones de dependencias.
En nuestro caso específico, el problema se debió a tener el complemento retrolambda , que obligó a todos los proyectos y subproyectos a volver a compilar cada vez que intentábamos lanzar nuestra aplicación, incluso si no se había modificado ningún código en nuestros módulos principales.
Eliminando retrolamba lo arreglamos para nosotros. Espero que ayude a alguien.
Esta configuración es muy rápida para mí (aproximadamente 2 segundos la compilación)
construir.gradle
android {
dexOptions {
incremental true
preDexLibraries = false
jumboMode = false
maxProcessCount 4
javaMaxHeapSize "6g"
}
}
gradle.properties
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.jvmargs=-Xmx8192M
mi PC:
- CPU Intel (R) Pentium (R) CPU G2030 @ 3.00GHz, 3000 Mhz, 2 procesadores principales, 2 procesadores lógicos
- x64
- Microsoft Windows 7 Professional
- (RAM) 16,0 GB
archivos de proyecto
- Todos ubicados en HD local.
Esto es lo que ayudó a este programador de Android principiante (ex programador profesional, hace años) a acelerar Android Studio 2.2. Sé que esto es un refrito, pero, resumiendo en un solo lugar.
Las compilaciones iniciales aún pueden ser brutalmente lentas, pero los reinicios de las aplicaciones en ejecución ahora suelen ser muy tolerables. Estoy usando una PC subóptima: CPU AMD Quad-Core A8-7410, 8 MB de RAM, no SSD HD, Win 10. (Y, esta es mi primera publicación de Desbordamiento de Pila ...;)
EN CONFIGURACIONES -> GRADO:
Sí para "Trabajo sin conexión" (esta es quizás la configuración más importante).
EN CONFIGURACIONES -> COMPILADOR:
sí para "Compilar módulos independientes en paralelo" (no estoy seguro de si esto de hecho ayuda a utilizar CPUs multinúcleo).
EN GRADLE SCRIPTS , "build.gradle (Module: app)":
defaultConfig {
...
// keep min high so that restarted apps can be hotswapped...obviously, this is hugely faster.
minSdkVersion 14
...
// enabling multidex support...does make big difference for me.
multiDexEnabled true
TAMBIÉN EN ESCRITOS DE GRADLE , "gradle.properties (Propiedades del proyecto)":
org.gradle.jvmargs = -Xmx3048m -XX: MaxPermSize = 512m -XX: + HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8
org.gradle.parallel = true org.gradle.daemon = true
Además , las pruebas en un dispositivo físico en lugar del emulador funcionan bien para mí; Una pequeña tableta que se levanta es conveniente.
Estoy lejos de ser un experto en Gradle, pero mi entorno tenía la siguiente línea en .gradle / init.gradle
gradle.projectsLoaded {
rootProject.allprojects {
repositories {
mavenRepo name: ''libs-repo'', url: ''http://guest-vm/artifactory/repo''
}
}
}
Sin embargo, no tengo idea de por qué estaba esa línea, pero intento cambiar a
gradle.projectsLoaded {
rootProject.allprojects {
repositories {
mavenCentral()
}
}
}
y ahora finalmente puedo trabajar sin jurar con el esquema de construcción de Android Studio & Gradle.
Hola, sé que esta es una respuesta muy tardía, pero tal vez ayude a alguien
en mi caso yo estaba usando
compile ''com.android.support:support-v4:23.1.1''
en mi aplicación la dependencia de Gradle
pero en una de mis bibliotecas era
compile ''com.android.support:support-v4:23.0.1''
Después de cambiar todo a la última versión mi problema resuelto.
La respuesta aceptada es para versiones anteriores de Android Studio y la mayoría de ellas todavía funcionan. Actualizar Android Studio lo hizo un poco más rápido. No se moleste en especificar el tamaño del montón, ya que aumentará automáticamente con el aumento de Xms y Xmx. Aquí hay algunas modificaciones con las VMoptions
En la carpeta bin hay un archivo studio.vmoptions para establecer la configuración del entorno. En mi caso, esto es studio64.vmoptions. Agregue las siguientes líneas si aún no están agregadas y guarde el archivo. En mi caso tengo 8GB de RAM.
-Xms4096m -Xmx4096m -XX:MaxPermSize=2048m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=utf-8`
Inicia el estudio de Android. Vaya a Archivo-> Configuración-> Compilación, Ejecución, Despliegue-> Compilador
- Comprobar compilar módulos independientes en paralelo.
- En las opciones de línea de comandos, escriba: --desconectado
- Marcar Hacer proyecto automáticamente
- Compruebe configurar bajo demanda
En caso de usar mac, al principio no pude encontrar las vmoptions. De todos modos, aquí hay un buen artículo sobre cómo podemos cambiar las vmoptions en MAC OSX . Citando de este artículo aquí.
Abra su terminal y ponga este comando para abrir las vmoptions en MAC OSX:
open -e /Applications/Android/ Studio.app/Contents/bin/studio.vmoptions
Podría hacer que el proceso sea más rápido, si usa gradle desde la línea de comandos. Hay una gran cantidad de optimización para los desarrolladores de IDE. Pero es solo una versión temprana.
Para más información, lea esta discusión en g + con algunos de los desarrolladores.
Por favor siga los siguientes pasos.
Habilitar el modo fuera de línea: por favor marque la siguiente pantalla de impresión.
Habilitar la ejecución instantánea: por favor marque la siguiente pantalla de impresión.
https://i.stack.imgur.com/mvHKJ.png
Si desea obtener más información sobre la ejecución instantánea, visite el sitio para desarrolladores de Android.
Puede ignorar las verificaciones de actualización de fecha de Gradle.
Para Windows con Android Studio 1.5: Vaya a File -> Settings -> Build, Execution, Deployment -> Build tools -> Gradle -> Check Offline work (as shown in image)
bajando de ~ 30 + seg a ~ 3 seg.
Puede intentar abrir el menú de gradle en el lado derecho del estudio y ensamblar solo los módulos que ha cambiado, luego ejecutar el comando de instalación. Cuando presiona ejecutar, reúne todo independientemente de los cambios que haya realizado en el código que está ensamblando.
Recientemente compré un nuevo SSD y pasé de Windows a Linux. Mis tiempos de compilación son ahora un orden de magnitud más rápido y ya no son molestos.
Aunque no responde directamente a su pregunta de por qué es más lento que el eclipse, muestra que el proceso está limitado por el disco y que una actualización a un SSD podría ser una solución (algo costosa). Supongo que habrá gente buscando el problema en Google y terminando aquí, quienes podrían apreciar mi experiencia.
Resuelto mio con
File -> Settings -> Build, Execution, Deployment -> Build Tools ->
Gradle -> Offline work
Las construcciones de Gradle fueron de 8 minutos a 3 segundos.
Seguir los pasos lo hará 10 veces más rápido y reducirá el tiempo de construcción en un 90%
Primero cree un archivo llamado gradle.properties en el siguiente directorio:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:/Users/<username>/.gradle (Windows)
Agregue esta línea al archivo:
org.gradle.daemon=true
org.gradle.parallel=true
Y comprueba estas opciones en Android Studio.
Si alguien está trabajando en un proyecto que se sincroniza a través de Subversion y esto sigue ocurriendo, creo que esto puede ralentizar el proceso de flujo de trabajo en Android Studio. Por ejemplo, si funciona muy lento mientras se desplaza en una clase, xml, etc., mientras mi aplicación aún se ejecuta en mi dispositivo.
Si usa los servicios de Google Play, dependiendo de las bibliotecas que necesite en lugar de todo el blob, puede hacer las cosas más rápido.
Si su única necesidad es mapas, use:
compile ''com.google.android.gms:play-services-maps:6.5.+''
en lugar de:
compile ''com.google.android.gms:play-services:6.5.+''
El último trae 20k métodos (ver blog) a la ruta de clase, lo que podría inclinar el conteo total de métodos por encima de 64k.
Eso forzaría el uso de proguard o multidex incluso para compilaciones de depuración. Para uno de mis proyectos tuve los siguientes tiempos de construcción.
- compilación multidex (con supportlibrary) ~ 40sec
- proguard build ~ 20sec
- construir cuando el límite del método <64k ~ 5sec
Si se desarrolla en sdk 21+, sería posible optimizar las compilaciones multidex como se indica en la documentación de Android
android {
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
...
}
Simplemente cree un archivo llamado gradle.properties en el siguiente directorio:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:/Users/<username>/.gradle (Windows)
Agregue esta línea al archivo:
org.gradle.daemon=true
Para mí la velocidad ahora es igual a Eclipse.
Solo otro consejo importante para el rendimiento:
Android Studio 3.0 incluye un nuevo compilador de DEX llamado D8.
"El compilador dex funciona principalmente bajo el capó en el desarrollo diario de la aplicación, pero afecta directamente el tiempo de compilación de la aplicación, el tamaño del archivo .dex y el rendimiento en tiempo de ejecución".
"Y al comparar el nuevo compilador D8 con el compilador DX actual, D8 compila más rápido y genera archivos .dex más pequeños, mientras que tiene el mismo o mejor rendimiento en tiempo de ejecución de la aplicación".
D8 es opcional. Úselo, tenemos que poner en gradle.properties del proyecto.
android.enableD8=true
Más información: https://android-developers.googleblog.com/2017/08/next-generation-dex-compiler-now-in.html
PD. Mejora mi tiempo de construcción en un 30%.
Solo prueba esto primero. Es mi experiencia personal.
Yo tuve el mismo problema. Lo que hice fue deshabilitar permanentemente el antivirus (el mío fue Avast Security 2015). Justo después de deshabilitar el antivirus, la cosa ha ido bien. el gradle terminó con éxito. A partir de ahora, en segundos, el gradle está terminando (solo toma 5-10 segundos).
USE este sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libncurses5: i386 libstdc ++ 6: i386 zlib1g: i386
Un cambio trivial (a un xml de resoruce) todavía tomó 10 minutos . Como @rivare dice en su respuesta, una compilación de línea de comandos es más rápida (se redujo a 15 segundos ).
Aquí hay algunos pasos para al menos hacer una compilación trivial rápida desde la línea de comandos para Windows.
Ve a la raíz de tus proyectos (donde está el gradlew.bat):
cd c: / android / MaskActivity
Ejecutar la compilación :
Gradlew assembleDebug
desinstale la aplicación desde el teléfono directamente (arrástrela para desinstalar).
Cuando la compilación haya finalizado, finalice el proceso de BIG java con el Administrador de tareas de Windows.
O si tiene herramientas de Unix en su máquina de Windows:
ps
Se muestran "pid"
kill -9 <pid>
Ahora instala tu apk:
adb -d instala C: / Android / MaskActivity / app / build / Output / apk / app-debug.apk
Acelerar la construcción Gradle en Android Studio 3.2.1
¿Alguna vez has sentido que estás esperando que las compilaciones se completen en Android Studio durante unos minutos? Yo también. Y es bastante molesto. Afortunadamente, hay algunas maneras en que puede utilizar para mejorar esto. Android usa Gradle para la construcción. La última versión es 4.6 tiene un gran aumento de rendimiento con respecto a las versiones anteriores (consulte las Notas de la versión para obtener más información).
Paso 1: actualice la versión de Gradle Una forma más fácil de lograr esto es ir a: Abrir la Configuración del Módulo (su proyecto)> Estructura del proyecto
ACTUALIZAR
Cambie a la versión de Gradle: 4.6 y Cambie a la versión del complemento de Android: 3.2.1
Descargue la distribución de Gradle Release desde https://services.gradle.org/distributions/gradle-4.6-all.zip y cópiela en la carpeta de Gradle:
El último paso es agregar su descripción en Configuración> Gradle
No olvide hacer clic en Aplicar para guardar los cambios.
Paso 2: habilitar el modo sin conexión, el daemon de Gradle y la compilación en paralelo para el proyecto El modo sin conexión le dice a Gradle que ignore las comprobaciones de actualización hasta la fecha. Gradle solicita dependencias cada vez y tener esta opción hace que solo use lo que ya está en la máquina para las dependencias. Vaya a Gradle desde la configuración de Android Studio y haga clic en el cuadro de trabajo Sin conexión.
- Vaya a Compilador desde la configuración de Android Studio y agregue "- fuera de línea" en el cuadro de línea de comandos y haga clic en Compilar módulos independientes en paralelo.
El siguiente paso es habilitar el demonio de Gradle y la construcción paralela para su proyecto. Las construcciones en paralelo harán que sus proyectos con múltiples módulos (construcciones de múltiples proyectos en Gradle) se construyan en paralelo, lo que debería hacer que los proyectos grandes o modulares se construyan más rápido.
Estas configuraciones podrían habilitarse modificando un archivo llamado gradle.properties en el directorio de scripts de Gradle (es decir, ~ / .gradle / gradle.properties). Algunas de estas opciones (por ejemplo, módulos Complie en paralelo) están disponibles desde Android Studio y también están habilitadas allí por predeterminado, pero al colocarlos en el archivo gradle.properties los habilitará al compilar desde el terminal y también asegurarse de que sus colegas usarán la misma configuración. Pero si estás trabajando en un equipo, a veces no puedes cometer esto.
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
org.gradle.daemon=true
El uso del demonio hará que sus construcciones se inicien más rápido ya que no tendrá que iniciar toda la aplicación de Gradle en todo momento. El Daemon de Gradle no está habilitado de forma predeterminada, pero se recomienda habilitarlo siempre para las máquinas de los desarrolladores (pero dejarlo deshabilitado para los servidores de integración continua). Las preguntas frecuentes sobre este modo se pueden encontrar aquí https://docs.gradle.org/current/userguide/gradle_daemon.html . La configuración de construcciones paralelas podría ser insegura para algunos proyectos. El requisito es que todos los módulos deben estar desacoplados o su compilación podría fallar (consulte http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects para obtener más detalles).
Paso 3: habilite la configuración incremental de dexign y tweak memory Puede acelerar sus construcciones activando el dexing incremental. En el archivo de compilación de su módulo:
Añade esta opción a tu bloque de Android:
dexOptions {
incremental true
}
En ese bloque de dexOptions también puede especificar el tamaño del montón para el proceso de dex, por ejemplo:
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
Donde "12g" es 12GB de memoria. Puede encontrar información adicional sobre esto aquí google.github.io/android-gradle-dsl/current/ También puede configurar los parámetros de Gradle en el archivo de configuración, por ejemplo, aumentar el tamaño máximo del montón en caso de que tenga un proyecto grande:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Vea toda la lista de parámetros aquí: https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configuration_properties para obtener más detalles.
Paso 4: Deshabilite Antivirus Considere excluir los archivos de proyecto y caché del análisis antivirus. Esto es obviamente un intercambio con la seguridad. Pero si cambia mucho entre sucursales, entonces el antivirus volverá a escanear los archivos antes de permitir que el proceso de gradle lo use, lo que ralentiza el tiempo de compilación (en particular, el proyecto de sincronización de Android Studio con los archivos de gradle y las tareas de indexación). Mida el tiempo de compilación y procese la CPU con y sin el antivirus habilitado para ver si está relacionado. Espero que esto ayude. Deje un comentario si tiene alguna pregunta o algún otro consejo para mejorar el rendimiento de la compilación.
Para ejecutar el entorno Android en la máquina de baja configuración.
- Cierre las pestañas web sin acceso en el navegador
- Para los usuarios de Antivirus, excluya la carpeta de compilación que se genera automáticamente
Android studio tiene 1.2 Gb. El montón predeterminado puede disminuir a 512 MB Ayuda> Editar las opciones de VM personalizadas studio.vmoptions -Xmx512m Los diseños se acelerarán
Para Gradle, uno de los componentes principales en el estudio de Android Mkae seguro que ahora mismo 3.0beta es el último
Los siguientes consejos pueden afectar la calidad del código, así que use con precauciones:
Studio contiene el Modo de ahorro de energía cuando se enciende, cerrará las operaciones en segundo plano que contengan pelusas, compleiciones de código, etc.
Puede ejecutar la comprobación de lintillas manualmente cuando sea necesario ./gradlew lint
La mayoría de los que usan emuladores de Android en promedio consumen 2 GB de RAM, por lo que, si es posible, use el dispositivo Android real, esto reducirá la carga de recursos en su computadora. Alternativamente, puede reducir la RAM del emulador y reducirá automáticamente el consumo de memoria virtual en su computadora. Puede encontrar esto en la configuración de dispositivos virtuales y en la configuración avanzada.
El modo fuera de línea de Gradle es una función para usuarios con ancho de banda limitado que deshabilita la descarga de dependencias de compilación. Reducirá la operación en segundo plano que ayudará a aumentar el rendimiento del estudio de Android.
Android studio ofrece una optimización para compilar múltiples módulos en paralelo. En máquinas con poca memoria RAM, esta característica probablemente tendrá un impacto negativo en el rendimiento. Puedes desactivarlo en el diálogo de configuración del compilador.