Using Libgdx features to avoid garbage collection
On one hand, unmanaged languages leave the responsibility of allocating and deallocating memory to the programmer, which allows them to choose the most convenient moment to make use of the required system resources and thus avoiding stuttering.
On the other hand, Java has a double-edged feature that handles the process of deallocating memory automatically whenever an object is no longer in use. This is commonly known as garbage collection. Every now and then, the GC kicks in and checks whether there are unreferenced objects to free up, but this takes time (and can occur in a nonsuitable moment within the game execution).
Sometimes Java programmers rely on its effectiveness and tend to forget about memory stuff when developing for desktop. However, it will not take a lot to realize about the need to manually deal with it when publishing for mobile platforms as their games experience slowdowns from time to time.
Once more, it is important to...