Debugging tools
Knowing what a memory leak and a memory churn are and what strategies we can pursue to avoid them, we now need to know how we can find them and how we can profile our code from a memory perspective.
As we have mentioned several times in this chapter, we must always keep an eye on the amount of heap memory used by our application processes, trying to keep it as low as possible and to free resources as much as possible while checking the garbage collector's behavior. Our application needs to be able to stay together with other applications on devices with the most varied amounts of RAM. Therefore, keeping that in mind, we will focus on helpful tools able to analyze the memory usages and we will know how to read common logs related to garbage collection.
LogCat
The simplest tool to start with is surely LogCat, which is used to print messages that inform us about memory trends and garbage collection events. Every message related to memory in LogCat has the same format depending...