In this last chapter, we have seen advanced techniques to troubleshoot bugs and performance issues. More specifically, we have debugged our code with the native code debugger, which is slow and complex to set up but is a real life saver.
We have also executed NDK Arm utilities to decipher crash dumps. They are the ultimate solution when a crash already occurred.
Finally, we have profiled our code to analyze performances with GProf. This solution is limited but can give an interesting overview.
With these tools in hand, you are now ready to venture out into the NDK jungle. And if you are adventurous, you can dive head first in ARM assembler to improve performances drastically . However, beware this is useful only when targeting the right pieces ...