Android studio toma demasiada memoria

175

Había instalado Android Studio 1.0 RC 2. Tengo instalados 4 GB de RAM, pero después de iniciar Android Studio y lanzar Android Emulator, solo estos dos han utilizado más del 90% de la memoria física. ¿Hay alguna forma de reducir este uso de memoria? Debido a este problema de memoria, no puedo abrir otras aplicaciones al mismo tiempo. ingrese la descripción de la imagen aquí

PPD
fuente
17
Usar Eclipse o Android Studio, y un emulador, en una máquina de desarrollo de Windows de 4GB será muy doloroso. Recomiendo encarecidamente que actualice la RAM de su máquina de desarrollo (8 GB o más), pruebe en un dispositivo (en lugar de un emulador) u omita el IDE y realice su desarrollo utilizando un editor simple y herramientas de línea de comandos.
CommonsWare
2
Supongo que estás usando Windows a juzgar por la captura de pantalla que has publicado. ¿Pero qué versión de Windows? Además, dado que Android Studio todavía está en pañales, tendrás muchos problemas con él. Si no necesita soporte de Gradle, siempre puede probar Eclipse: el IDE ha sido probado durante años, por lo que es bastante sólido para un entorno de desarrollo, en cuanto a RAM.
ChuongPham
1
@CommonsWare ¿Sabe si lo mismo es cierto para PC con Linux? Gracias por adelantado.
Alexander Kulyakhtin
44
@PPD: en Windows, apague los servicios innecesarios a través de Herramientas administrativas | Opción de servicios . Vaya msconfigy apague las aplicaciones innecesarias en la pestaña Inicio . Desactive los efectos visuales innecesarios en Windows. Cuando ejecute un emulador de Android, active la opción Usar GPU host , especialmente si tiene una tarjeta gráfica potente. Tengo una PC de desarrollo de Windows 7 y solo uso 2-2.5GB de RAM en cualquier momento que incluye tener: Windows 7, Eclipse, Mozilla Firefox (sin complementos) y los pasos de personalización de Windows que acabo de mencionar. También uso Fedora y usa incluso menos memoria que Windows.
ChuongPham
3
Solo una observación: puedo ver que tienes algunas pestañas de Google Chrome abiertas. Es posible que Firefox use un poco menos de RAM, ya que no usa un proceso por pestaña del navegador.
Sam

Respuestas:

224

Actualmente estoy ejecutando Android Studio en una máquina con Windows 8.1 con 6 gigas de RAM.

Descubrí que deshabilitar VCS en Android Studio y usar un programa externo para manejar VCS me ayudó mucho. Puede deshabilitar VCS yendo a Archivo -> Configuración -> Complementos y deshabilitar lo siguiente:

  • Integración CVS
  • Integración Git
  • GitHub
  • Google Cloud Testing
  • Google Cloud Tools Core
  • Google Cloud Tools para Android Studio
  • hg4idea
  • Integración Subversion
  • Integración Mercurial
  • TestNG-J
jds17
fuente
18
nah, muy pequeño cambio.
krivar
55
Gran diferencia cuando su proyecto está configurado con cualquier repositorio como svn o github. mi tiempo de espera de ejecución se redujo de> 3min a <1min. Muchas gracias por una ayuda increíble.
Er. Kaushik Kajavadara
44
Esto parece funcionar y hace una gran diferencia, aunque mantuve 'Git Integration' activado. Idealmente, Android Studio debería tener estos como la configuración predeterminada.
Mr-IDE
3
Utilicé este método para la mini carcasa HP 6005 con 4 GB de RAM y CPU AMD X4. Después de desactivar todos estos complementos, mi estudio de Android se abrió muy, muy rápido, no puedo creerlo. antes de comenzar el estudio de Android, tómese 15 segundos, pero ahora aparece en 1 segundo. gracias
AN
2
También deshabilite la Integración Mercurial, TestNG-J;
xiaoweiz
108

En mi caso, había dos fuentes principales de acaparamiento de memoria: el IDE y Gradle:

Android Studio (hasta 1.5GB)

La JVM del IDE está configurada para tener un tamaño de almacenamiento dinámico máximo. Puede ver esto en la esquina inferior derecha de la interfaz principal:

Android Studio que muestra un tamaño de almacenamiento dinámico máximo de 725M

Puede reducir esto editando las configuraciones relacionadas con la memoria en el .vmoptionsarchivo . Por ejemplo, cambié mi tamaño de almacenamiento dinámico máximo a 512 MB:

-Xmx512m

Desafortunadamente, descubrí que reducir este valor aumenta la frecuencia de congelación temporal de Android Studio, tal vez para hacer su recolección de basura.

Gradle (hasta 1.5GB)

Gradle también puede usar mucha RAM después de desarrollar durante un tiempo. Windows solo lo muestra como Java(TM) Platform SE Binary:

Administrador de tareas de Windows 8.1 que muestra "Java (TM Platform SE binary" con 1,460.5 MB de memoria

Puede solucionar esto cambiando las opciones de Gradle JVM. Puede hacer esto por usuario editando gradle.properties:

  1. Abra el gradle.propertiesarchivo, creándolo si no existe:
    • Ventanas: %USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac: ~/.gradle/gradle.properties
  2. Actualice la org.gradle.jvmargspropiedad, creándola si es necesario. Puse el mío en esto:

    org.gradle.jvmargs=-Xmx256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    

No he notado ninguna diferencia en el rendimiento de compilación para mi pequeño proyecto con el tamaño de almacenamiento dinámico máximo establecido en 256 MB ( -Xmx256m).

Tenga en cuenta que es posible que deba reiniciar Android Studio para que se elimine el antiguo proceso de Gradle; de lo contrario, podría terminar con ambas ejecutando al mismo tiempo.

Emulador

En cuanto al emulador que ocupa una gran cantidad de RAM, su captura de pantalla muestra que ocupa unos 800 MB. Puede elegir cuánta RAM asignar al emulador:

  1. Edite el AVD
  2. Presione Mostrar configuración avanzada
  3. Reduce el valor de RAM

Configuración de RAM del dispositivo virtual de Android

Sam
fuente
Esto en conjunto con la respuesta de SoJexy aumentó dramáticamente el rendimiento en mi computadora.
Josh Larson
¡Estos consejos fueron un salvavidas! También hay una opción para cambiar el tamaño de almacenamiento dinámico utilizado por el compilador dex que reduce aún más el uso de memoria. Detalles: techzog.com/development/android-studio-high-ram-usage
Varun
1
En el .vmoptionsarchivo dice: *DO NOT* modify this file directly. If there is a value that you would like t$ please add it to your user specific configuration file. See http://tools.android.com/tech-docs/configurationSin embargo, dado que no parece haber un archivo específico del usuario en mi sistema y el sitio web no explica ninguna otra ubicación de dicho archivo, iré con esta solución. Ah y: MaxPermSize quedará obsoleto en algún momento. Siempre me advierte sobre eso al iniciar IDEs en la terminal.
Zelphir Kaltstahl
1
@Zelphir, ¿qué sistema operativo y versión de Android Studio está utilizando? Estoy usando Windows y las instrucciones dicen que el archivo está debajo %USERPROFILE%, que es específico del usuario. No soy muy bueno en Linux, pero las instrucciones para Mac y Linux también dicen que el archivo está debajo ~, ¿cuál es el directorio de inicio del usuario? Si el archivo no está presente, tal vez solo pueda crearlo; la documentación mencionada anteriormente dice Instead, you can customize the attributes by creating your own .properties or .vmoptions files in the following directories.. ¿Podría decirme si funciona para que pueda actualizar la respuesta?
Sam
3
Sugerencias impresionantes! Para Gradle, resolví el problema de manera "para todo el usuario" mediante la edición ~/.gradle/gradle.properties.
Andrea Lazzarotto
51

Puede acelerar su trabajo de Eclipse o Android Studio, solo siga estos:

  • Usar / abrir un solo proyecto a la vez
  • limpia tu proyecto después de ejecutar tu aplicación en el emulador cada vez
  • usar dispositivo móvil / externo en lugar de emulador
  • no cierre el emulador después de usarlo una vez, use el mismo emulador para ejecutar la aplicación cada vez
  • Deshabilite VCS usando Archivo-> Configuración-> Complementos y deshabilite las siguientes cosas:
    1.CVS Integration
    2.Git Integration
    3.GitHub
    4.Google Cloud Tools para Android Studio
    5.Subversion Integration

También estoy usando Android Studio con memoria principal instalada de 4 GB, pero seguir estas declaraciones realmente aumenta mi rendimiento de Android Studio.

KulArtist
fuente
1
Deshabilité todas las cosas en la lista. Todavía usa lo mismo alrededor de 1.5 gb de ram
Arshad
@ arshadkazmi42 dime la configuración de tu PC
KulArtist
i3, 4GB RAM, 500GB HDD
Arshad
13
¡Creo que es un completo disparate decir que el "i3" es la causa de las fallas en la artesanía del software!
XMight
1
Mi procesador i3 quiere desafiar tu> i3, ¿quieres aceptar este desafío? Nadie dirá que i3 está causando una memoria más lenta o alta ...
Sabir Hossain
28

Android Studio ha publicado recientemente una guía oficial para máquinas con poca memoria: Guía

Si está ejecutando Android Studio en una máquina con menos de las especificaciones recomendadas (consulte Requisitos del sistema), puede personalizar el IDE para mejorar el rendimiento en su máquina, de la siguiente manera:

  • Reduzca el tamaño de almacenamiento dinámico máximo disponible para Android Studio : reduzca el tamaño de almacenamiento dinámico máximo para Android Studio a 512 Mb.

  • Actualice Gradle y el complemento de Android para Gradle : actualice a las últimas versiones de Gradle y el complemento de Android para Gradle para asegurarse de que está aprovechando las últimas mejoras de rendimiento.

  • Habilitar el modo de ahorro de energía : al habilitar el modo de ahorro de energía, se desactivan varias operaciones en segundo plano que requieren mucha memoria y batería, incluido el resaltado de errores y las inspecciones sobre la marcha, la finalización automática del código emergente y la compilación incremental automática en segundo plano. Para activar el modo de ahorro de energía, haga clic en Archivo> Modo de ahorro de energía.

  • Deshabilite las comprobaciones de pelusas innecesarias : para cambiar las comprobaciones de pelusas que ejecuta Android Studio en su código, proceda de la siguiente manera: haga clic en Archivo> Configuración (en una Mac, Android Studio> Preferencias) para abrir el cuadro de diálogo Configuración. En el panel izquierdo, expanda la sección Editor y haga clic en Inspecciones. Haga clic en las casillas de verificación para seleccionar o deseleccionar las comprobaciones de pelusa según corresponda para su proyecto. Haga clic en Aplicar o en Aceptar para guardar sus cambios.

  • Depuración en un dispositivo físico : la depuración en un emulador utiliza más memoria que la depuración en un dispositivo físico, por lo que puede mejorar el rendimiento general de Android Studio depurando en un dispositivo físico.

  • Incluya solo los servicios necesarios de Google Play como dependencias : incluir los servicios de Google Play como dependencias en su proyecto aumenta la cantidad de memoria necesaria. Solo incluya las dependencias necesarias para mejorar el uso y el rendimiento de la memoria. Para obtener más información, consulte Agregar servicios de Google Play a su proyecto.

  • Reduzca el tamaño máximo de almacenamiento dinámico disponible para la compilación de archivos DEX : establezca javaMaxHeapSize para la compilación de archivos DEX en 200 m. Para obtener más información, consulte Mejorar los tiempos de compilación configurando recursos DEX .

  • No habilite la compilación paralela : Android Studio puede compilar módulos independientes en paralelo, pero si tiene un sistema con poca memoria, no debe activar esta función. Para verificar esta configuración, proceda de la siguiente manera: Haga clic en Archivo> Configuración (en una Mac, Android Studio> Preferencias) para abrir el cuadro de diálogo Configuración. En el panel izquierdo, expanda Compilación, Ejecución, Implementación y luego haga clic en Compilador. Asegúrese de que la opción Compilar módulos independientes en paralelo no esté marcada. Si ha realizado un cambio, haga clic en Aplicar o en Aceptar para que su cambio surta efecto.

  • Active el modo sin conexión para Gradle : si tiene un interruptor de banda limitado, active el modo sin conexión para evitar que Gradle intente descargar las dependencias faltantes durante su construcción. Cuando el Modo sin conexión está activado, Gradle emitirá un error de compilación si le faltan dependencias, en lugar de intentar descargarlas. Para activar el modo sin conexión, proceda de la siguiente manera:

    • Haga clic en Archivo> Configuración (en una Mac, Android Studio> Preferencias) para abrir el cuadro de diálogo Configuración.

    • En el panel izquierdo, expanda Compilación, Ejecución, Implementación y luego haga clic en Gradle.

    • En Configuración global de Gradle, marque la casilla de verificación Trabajo sin conexión.

    • Haga clic en Aplicar o en Aceptar para que los cambios surtan efecto.

Androidmeda
fuente
16

He utilizado todas las recomendaciones de Sam anteriores, pero descubrí que las opciones de línea de comandos de VM ya no son compatibles como se describe. (Recibí un error cuando lo usé)

Como alternativa, pude reducir drásticamente gradle al agregar la siguiente línea al archivo "gradle.properties"

org.gradle.jvmargs=-Xms512m -Xmx1024m

A partir de AS ver 1.3, el archivo se encuentra en el mismo nivel de carpeta que "gradle.build".

La configuración anterior es una "pila de memoria" de 512 meg, y un "montón de memoria" de 1024 meg.

Probé esto en un proyecto pequeño, usando configuraciones donde ambos tamaños de memoria estaban configurados en 256 meg. Limitó los tamaños de JVM como se esperaba. En todas mis pruebas, reinicié AS para forzar el reinicio de JVM.

Con suerte, esto evitará que otras personas que se ocupen de este problema obtengan esas respuestas de "Consíguete una mejor computadora". :-)

Dilber

SpacemanScott
fuente
Gracias; ¡Esto funcionó para mí en AS 1.3! Actualicé las instrucciones en mi respuesta para cubrir este método, ya que no he encontrado otras formas de hacerlo en AS 1.3.
Sam
2

Tengo Android Studio 2.1.1 Bro uso emulador genymotion Es más rápido si uso Android Marshmallow. Y My Ram es de 4 gb. E instale el complemento para genymotion en Android Studio. Verá un buen resultado en lugar de perder el tiempo, inicie Android Emualtor, tardará 5 minutos.

Mella
fuente
3
Como si fuera gratis.
Ojonugwa Jude Ochalifu
Genymotion no es más rápido en rendimiento. El emulador es, pero sí, comienza más rápido que ARM y muy más rápido que los emuladores de estudio Android Android IntelX86 y X64.
Mahdi-Malv
2

Para reducir el retraso, recomendaría los siguientes pasos

especificaciones de mi pc: 2 gb ram, procesador: intel core2 duo

primero elimine todo el proceso en segundo plano, si tiene un servidor o una base de datos en ejecución, puede detenerlos primero con los siguientes comandos

servicio de sudo apache2 stop

servicio de sudo mysql stop

Luego habilite el modo de ahorro de energía en Android Studio por archivo> modo de ahorro de energía

Podría deshabilitar el proceso en segundo plano, y luego el estudio parece ir bien

Naveen
fuente
No entiendo por qué debemos habilitarloPower Save Mode
Morozov
Morozov, si habilitamos el modo de ahorro de energía, elimina las actividades en segundo plano del estudio de Android, por lo que mejorará su rendimiento
Naveen
sí, el modo de ahorro de energía detiene esos procesos
Naveen
2

Para ejecutar entornos de Android en máquinas de baja configuración.

  1. Cierre las pestañas web no necesarias en el navegador
  2. Para usuarios de antivirus, excluya la carpeta de compilación que se genera automáticamente
  3. Android Studio tiene un montón predeterminado de 1.2 Gb que puede disminuir a 512 MB

Ayuda> Editar opciones de VM personalizadas

studio.vmoptions
 -Xmx512m

El rendimiento de los diseños se acelerará

  1. Para Gradle, uno de los componentes principales en el estudio de Android Mkae seguro como ahora 3.0beta es el último

Los siguientes consejos pueden afectar la calidad del código, por lo tanto, utilice con precaución:

  1. Studio contiene el Modo seguro de energía cuando se enciende, cerrará las operaciones en segundo plano que lleven pelusas, completen el código, etc.

  2. Puede ejecutar manualmente la comprobación de pelusas cuando sea necesario ./gradlew lint

  3. La mayoría de los emuladores de Android usan en promedio un consumo de 2 GB de RAM, por lo que, si es posible, use un 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 del dispositivo virtual y la configuración avanzada.

  4. El modo sin conexión de Gradle es una función para usuarios con ancho de banda limitado para deshabilitar la descarga de dependencias de compilación. Reducirá la operación en segundo plano que ayudará a aumentar el rendimiento del estudio de Android.

  5. Android Studio ofrece una optimización para compilar múltiples módulos en paralelo. En máquinas con poca RAM, esta característica probablemente tendrá un impacto negativo en el rendimiento. Puede deshabilitarlo en el cuadro de diálogo de configuración del compilador .

Smit Patel
fuente
"studio.vmoptions -Xmx512m" mató el estudio de Android para mí. Ya no se abrirá "Error al crear JVM: código de error -1". ¿Cómo puedo revertir este cambio?
MeatPopsicle
1
En caso de que alguien más caiga en la misma trampa. Puede solucionarlo yendo a C: \ Users \ <nombre de usuario> \ .AndroidStudio <versión> \ config y buscando un archivo .vmoptions. Si coincide con la configuración que acaba de agregar, probablemente sea seguro eliminarla
MeatPopsicle
1

Intente cambiar su JVM a eclipse openj9. Va a usar mucho menos memoria. Lo cambié y está usando 600Mb constantemente.

Vijay Britto
fuente
1

No sé si es una solución, pero Invalidate Cache and Restartresolví este problema en mi caso. Actualmente estoy usando Android Studio 3.6

Aziz
fuente
0

Abra a continuación la ruta de mención en su sistema y elimine todos sus AVD (dispositivos virtuales: emulador)

C: \ Usuarios {Nombre de usuario} .android \ avd

Nota: - Eliminar el emulador solo del estudio de Android no eliminará todos los espacios tomados por sus AVD. Por lo tanto, elimine todos los AVD de la ruta anterior y luego cree un nuevo emulador, si es necesario.

Narender Gusain
fuente