Android NDK – это C++ библиотека, для
Android телефона.
В
NDK есть функции для доступа к физическим компонентам телефона, таким как сенсоры.
NDK расшифровывается как
Native Development Kit.
NDK может компилировать ваш
C++ код.
NDK используется:
• для увеличения производительности (потому что
C++ выполняется быстрее чем
Java)
• для ручного управления памятью (
C++ это ручное управление памятью,
Java не ручное)
В
Java удаление объектов из памяти происходит автоматически (используется системный Garbage Collection) и удаление происходит через какое то время.
В
C++ мы сами контролируем когда удалять обьект и это очень эффективно.
Вывод: NDK используется в играх.
В играх 30 раз в секунду перерисовывается сцена и двигаются много герои и нужно быстродействие и эффективное управление памятью.
Посмотрите видеоконференцию Google:
"Google I/O 2009 - Writing Real-Time Games for Android"