2010-06-18 17 views
20

Soy nuevo en el Android NDK. Quiero saber cuál es el beneficio del código nativo en Android. ¿Cómo mejora el rendimiento y dónde se usa (código nativo) en Android?Uso de Android NDK

+1

http://developer.android.com/sdk/ndk/index.html#overview –

+0

http://developer.android.com/training/articles/perf-tips.html#NativeMethods. Vea esta cita "El código nativo es principalmente útil cuando tiene una base de código nativa existente que desea exportar a Android, no para" acelerar "partes de su aplicación de Android escritas con el lenguaje Java". – Roel

Respuesta

14

El NDK le permite escribir código usando C/C++ y luego vincularlo a su aplicación Java. Usted puede potencialmente aumentar la velocidad de su aplicación. Sin embargo, puede valer la pena leer acerca de Replica Island, ya que no usan el NDK, sin embargo, logran velocidades de cuadros muy rápidas.

Las desventajas del NDK son que solo compila a CPU específicas (mientras que permanecer en Java significa que funcionará en cualquier versión de destino de Android).

+0

Gracias Mark ..... de donde puedo obtener su ejemplo ??? – Andy

+2

Hay ejemplos en la carpeta NDK cuando lo descargas –

+0

Sí, gracias "Donal" tengo:) ... – Andy

9

Droid, Puede utilizar el código nativo para optimizar la velocidad de su aplicación. Especialmente cuando se usan operaciones de bit/byte en su código, como cuando necesita compresión/descompresión de archivos de imagen, etc.

El código nativo C utilizaba las API del sistema operativo subyacente (Linux) (llamadas al sistema) y, por lo tanto, sería mucho más rápido que cuando el código de Java tendría que ser interpretado a través de la JVM.

Además, la asignación de memoria grande (¡hasta 25-30MB pares!) Se puede hacer utilizando código C nativo, utilizando malloc(). Esto no sería posible cuando se codifica a través de java, en los límites de la aplicación.

La mayoría de los juegos utilizan las bibliotecas de código nativo C para gráficos 2D/3D, de entrada, el sonido, etc ...

Si usted apenas está comenzando con el NDK, echa un vistazo al siguiente enlace para un sencillo tutorial con capturas de pantalla: http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/