Memory profilers and performance tools
Your app could suffer from memory leaks or from allocating too much memory.
The Garbage Collector (GC), responsible for cleaning up anything we do not want to use any more, is a great helper, but unfortunately, it is not perfect. It can only remove objects that are recognized as unreachable. Objects that are not cleaned up just hang around taking up space. After a while, if more and more objects are created, an OutOfMemoryError
could occur, as would be the case if a couple of large images are attempted to load, which is a commonly seen crash scenario for many Android apps.
Memory leaks are somewhat difficult to find. Luckily for us, Android Studio comes with a memory monitor. It gives you an overview of your app's memory usage and some clue about memory leaks.
We will be using this Memory monitor to find out whether unwanted GC event patterns are causing performance issues. In addition to this, we will use Allocation Tracker to identify where in the code...