![]() |
|
| Noticias del portal de temática general Sólo el staff puede publicar aquí |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
El límite de los 64k métodos en ficheros DEX, ¿estamos cerca de la solución?
El límite de los 64k métodos en ficheros DEX, ¿estamos cerca de la solución? ![]() Leemos en elandroidelibre.com Para todos los que son programadores de Android, existe un límite el cual quizás muchos de ellos no conocían hasta hoy. Este límite viene provocado por el formato de los ficheros DEX que se utilizan. Estos ficheros son el formato binario utilizaro por la máquina virtual Dalvik que se utiliza en los dispositivos Android. Y presentan un límite de 64k para referencia de métodos. De hecho, la causa de esta limitación viene porque los métodos se referencian utilizando un índice, el cual se representa con 16 bits, o 65536 en decimal que es lo mismo (lo que son 64k). Esto nos lleva a que no podremos tener más de 65536 métodos en nuestra aplicación. Esto hará que muchas grandes aplicaciones lleguen a este límite y se puedan ver afectadas, aunque muchas de ellas no alcanzarán el límite. Pero el problema empieza cuando utilizamos librerías de terceros, y ahí Google es uno de los que más métodos utilizan. Por eso, deberíamos esperar una solución por parte de Google antes que tarde. ![]() leer más: elandroidelibre.com |
|
|
|
#2
|
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
muy cerca
|
|
#4
|
|
y para que valdria esto????
|
|
#5
|
|
Me gusta leer este tipo de artículos aunque no me entere bien de muchas cosas
|
|
#8
|
||||
|
||||
|
Buen artículo, ayuda a entender que son 64k para gente noob como yo
|
|
#9
|
||||
|
||||
|
Lo digo to' y no digo na'
|
|
#10
|
|
El artículo va dirigido a programadores Android.
Lo que viene a decir (muy por encima) es que no puedes hacer el código de una app tan largo como quieras, hay un límite. Y el problema no es solo por el código que tu escribes, sino que si tu app usa los mapas de google maps u otras librerías te puedes acercar al límite. Esto, muchos programadores no lo saben (me incluyo) y puede condicionarte a usar unas librerías u otras. |
| Gracias de parte de: | ||
|
#11
|
|
Un método en Android es una función para que lo entienda el que haya tocado otro tipo de lenguaje.
Imaginaros que para desplazaros 20m en coche tuvierais que hacer: -Introducir llaves bombin->Girar LLave->Girar Llave2->Pisar Embrague->Meter 1a->Quitar freno mano->Acelerar El método bombin llama al método llave, este a embrague y así hasta acelerar el cual por ejemplo verifica que metros=20. Usando librerías externas se podría traducir lo mismo pero mas detalladamente: -Introducir llaves bombin->Girar Llave->Batería hace contacto->Centralita enciende luces cuadro de mandos->Girar Llave2->Encendido motor de arranque.... Y así hasta llegar a los 65536 métodos, y ahí el dilema. La mejor solución es la que comentan en la noticia, no usar un solo fichero, si no usar varios ficheros en paralelo. |
| Los siguientes 3 usuarios han agradecido a kaothic su comentario: | ||
|
#12
|
|
Entendido Kaothic.
![]() SALUDOS. |
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
| Herramientas | |
|
|
Hora actual: 14:33:29 (GMT +1)
HTCMania: líderes desde el 2007


El límite de los 64k métodos en ficheros DEX, ¿estamos cerca de la solución?

Para todos los que son programadores de Android, existe un límite el cual quizás muchos de ellos no conocían hasta hoy. Este límite viene provocado por el formato de los ficheros DEX que se utilizan. Estos ficheros son el formato binario utilizaro por la máquina virtual Dalvik que se utiliza en los dispositivos Android. Y presentan un límite de 64k para referencia de métodos. De hecho, la causa de esta limitación viene porque los métodos se referencian utilizando un índice, el cual se representa con 16 bits, o 65536 en decimal que es lo mismo (lo que son 64k). Esto nos lleva a que no podremos tener más de 65536 métodos en nuestra aplicación. Esto hará que muchas grandes aplicaciones lleguen a este límite y se puedan ver afectadas, aunque muchas de ellas no alcanzarán el límite. Pero el problema empieza cuando utilizamos librerías de terceros, y ahí Google es uno de los que más métodos utilizan. Por eso, deberíamos esperar una solución por parte de Google antes que tarde. 






