본문 바로가기

Kotlin/안드로이드 공부

Native Development Kit (NDK)

728x90

SDK : UI 기반으로 특화된 API를 제공하여 Application Level에서 개발이 가능하게 도와주는 패키지

 

java만 사용하여 필요한 기능과 성능을 모두 만족시키기는 힘들다. 안드로이드는 자바를 활용했기 때문에 자바의 한계점을 그대로 가지고 있다. ex) 그래픽 처리, 센서 값 처리 등 CPU의 처리 속도가 중요한 부분


그래서 C나 C++ 언어로 작성된 프로그램을 java에서 사용할 수 있도록 JDK에서 제공하는 것이 JNI(Java Native Interface) 

그리고 NDK는 이것을 가능하게 해주는 네이티브 개발 도구, 툴킷이다.

정의 : C/C++을 이용하여 애플리케이션, 미들웨어 개발에 사용되는 Framework


NDK를 사용하여 얻을 수 있는 장점

1. 기존에 C로 만들어진 대규모 코드를 JAVA에서 다시 만들 필요없이 재사용이 가능하다.

2. 시스템 디바이스 접근과 JAVA성능을 넘어선 작업이 필요할때 유용하다.

3. 속도 및 성능을 향상시킬 수 있다.

 

이러한 장점때문에 NDK는 주로 영상처리, 게임, 신호처리, 물리 시뮬레이션 등에 사용된다.

안드로이드에서는 네이티브 액티비티를 관리하고 센서 및 터치 입력같은 실제 기기 구성요소에 액세스하는 데 사용할 수 있는 플랫폼 라이브러리 제공

 

 

 

 

 




'Kotlin > 안드로이드 공부' 카테고리의 다른 글

Rxjava 에러 캐치  (0) 2021.10.07
RecyclerView 안에 EditText  (0) 2021.07.05
RecyclerView 뽀개기  (0) 2021.01.24
kotlin enum  (0) 2021.01.05
Koin 의존성 주입  (0) 2021.01.05