Summary
After reading this chapter, the reader will be able to construct applications using NDK natively or as a hybrid within an Android application. In addition, we recommend the reader checks out some other frameworks, particularly OpenCV. Learning OpenCV itself can be the subject of an entire book. However, if the reader is dealing with heavy image processing, he/she will find this framework very useful.
One of the key points when using NDK is to decide where the correct trade-off between complexity and performance lies. Using NDK can be tempting to solve complex computational problems, and it should be a clear decision when we are dealing with image processing, OpenGL, computer graphics, or animation. It is in fact proven that NDK learners tend to overuse it, and include it in most single tasks. From an efficiency point of view, this could look like a great idea, but software engineering is about handling growing complexity more than anything else. If the software keeps growing without...