Al desarrollar una app en Visual Studio, aprovechando las ventajas de la nueva y gratuita integración con Xamarin, el compilador nos puede arrojar eventualmente un error del tipo

java.lang.OutOfMemoryError: Java heap space .

Esto ocurre básicamente porque se excede el máximo de memoria alojada (allocated memory) de la pila de instrucciones (heap memory), lo que se puede resolver de dos formas: la primera es colocar un parámetro en tiempo de compilación que aumente ese espacio a 1 Gb o más, y la segunda es cambiar el JDK con el que se esta compilando, ya que por defecto se toma la versión de 32 bits del mismo, y el JDK disponible de 64 bits tiene mayores optimizaciones y licencias que esta versión, por ende, hay que remplazarla.




Remplazar el JDK de 32 bits por el de 64 bits

1. Descargarse e instalar la última versión del JDK de 64 bits.

2. En Visual Studio, ir a Herramientas -> Opciones y luego a Xamarin -> Configuración de Android.

3. En el apartado Java Development Kit Location veremos que la ruta a la que dirige es el JDK de 32 bits. Hacemos clic en Change.

4. En la ventana que se abre, hacemos clic en el botón con los tres puntos para cambiar la ruta del JDK y elegimos la ruta donde se instaló el JDK de 64 bits que descargamos previamente. Normalmente la ruta es C:\Program Files\Java\jdkxxxxx (donde xxxxx es la versión instalada).

5. Aceptamos los cambios, reiniciamos Visual Studio y al volver a compilar veremos que la prueba si pasa.

Compilar con el SDK de 64 bits no afecta en nada a la ejecución de las apps en dispositivos de procesadores arm, x86 o x64, ya que recordemos que las apps se precompilan en este punto y se terminan de compilar en el dispositivo del usuario final.




Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *