Что такое Android NDK (собственный комплект для разработки)? Как его использовать? Зачем его использовать?
android
android-ndk
Никундж Патель
источник
источник
Ответы:
NDK (Native Development Kit) - это инструмент, позволяющий программировать на C / C ++ для устройств Android. Он предназначен для интеграции с SDK (он описывается как «вспомогательный инструмент») и используется только для критически важных для производительности частей проекта. См. Здесь для получения дополнительной информации.
источник
NDK может улучшить производительность приложений. Обычно это верно для многих приложений с привязкой к процессору. Многие мультимедийные приложения и видеоигры используют собственный код для ресурсоемких задач. Улучшение производительности может быть получено из трех источников. Во-первых, собственный код компилируется в двоичный код и запускается непосредственно в ОС, а код Java транслируется в байт-код Java и интерпретируется виртуальной машиной Dalvik (VM) . В Android 2.2 или выше к Dalvik VM добавляется компилятор Just-In-Time (JIT) для анализа и оптимизации байт-кода Java во время работы программы (например, JIT может скомпилировать часть байт-кода для двоичный код перед его выполнением). Но во многих случаях собственный код по-прежнему работает быстрее, чем код Java.
Второй источник повышения производительности в NDK заключается в том, что собственный код позволяет разработчикам использовать некоторые функции процессора, недоступные в Android SDK, такие как NEON, технология Single Instruction Multiple Data (SIMD) , позволяющая обрабатывать несколько элементов данных. в параллели. Одним из конкретных примеров задачи кодирования является преобразование цвета для видеокадра или фотографии. Предположим, мы должны преобразовать фотографию размером 1920x1280 пикселей из цветового пространства RGB в цветовое пространство YCbCr. Наивный подход состоит в применении формулы преобразования к каждому пикселю (то есть более двух миллионов пикселей). С NEON мы можем обрабатывать несколько пикселей одновременно, чтобы сократить время обработки.
Третий аспект заключается в том, что мы можем оптимизировать критический код на уровне сборки, что является обычной практикой при разработке программного обеспечения для настольных компьютеров.
Недостаток
NDK не может напрямую обращаться к множеству API, доступных в Android SDK, и разработка в NDK всегда будет вносить дополнительную сложность в ваше приложение.
источник
Android NDK - это вспомогательный инструмент, используемый только в сочетании с Android SDK, который позволяет разработчикам приложений создавать критически важные для производительности части своих приложений с использованием собственного кода (C / C ++).
Это дает преимущества в виде повторного использования существующего кода и увеличения скорости.
Пожалуйста, пройдите по ссылкам ниже.
Ссылка-1
Ссылка-2
Ссылка-3
источник
Следующие ссылки также отвечают на ваш вопрос:
Что такое НДК?
Когда следует разрабатывать собственный код
NDK Скачать
Как создать приложение NDK
как работать с NDK
10 советов по Android NDK
источник
Источник: http://developer.android.com/sdk/ndk/overview.html
Источник: http://developer.android.com/sdk/ndk/index.html
источник
NDK - это просто набор инструментов, который позволяет вам писать коды C / C ++ для вашего приложения. Например, предположим, что вы хотите добавить критическую функцию / производительность в свое приложение, и вы хотите написать ее на C / C ++, а затем eclipse или любой другой IDE не позволит вам написать свой C / C ++, и в этом случае вам придется использовать NDK и интегрировать его в свое приложение.
источник
NDK - это набор инструментов, который позволяет вам реализовать части вашего приложения с использованием языков с собственным кодом, таких как C и C ++ .... Ознакомьтесь с https://developer.android.com/tools/sdk/ndk/index.html
источник
Android Native Development Kit (NDK) - это разработчики для написания кода на C / C ++, который компилируется в собственный код.
Исходный код компилируется непосредственно в машинный код для ЦП (а не на промежуточный язык, как в случае с Java), тогда разработчики могут получить максимальную производительность.
Как его использовать?
Здесь лучшие уроки
https://developer.android.com/ndk/index.html
https://www.androidauthority.com/android-ndk-everything-need-know-677642/
https://www.ntu.edu.sg/home/ehchua/programming/android/Android_NDK.html
источник