¿Por qué Android debería usar jni?
Jni de Android se puede desarrollar usando c/c++. En comparación con Java, la eficiencia de ejecución ha mejorado mucho, especialmente cuando se realizan algunos algoritmos de imágenes o lógica de juego, el uso de jni mejorará enormemente. Por ejemplo, si un juego usa OpenGL y también carga un modelo 3D compuesto por 1000 polígonos, la operación JNI es varias veces más rápida que Java, lo que garantiza que los fps del juego no serán demasiado bajos.
Otro beneficio es la administración de la memoria. Toda la administración de la memoria de Java la administra la máquina virtual, mientras que C++ la administran los programadores, por lo que la tasa de utilización es mucho mejor.
Y otras ventajas.
Con tantas ventajas, ¿por qué un programa de Android no está desarrollado en C puro? Debido a que el marco de la interfaz de usuario de Android usa Java, la interfaz de usuario todavía se desarrolla usando Java.