Since Android uses its own VM, just curious to know how would be the GC more effective compared to GC in JVM?
I am not aware of straight-up GC comparisons.
Android does have, beyond GC, a sophisticated system to shut down activities (a.k.a., "screens") that the user has left open if and when the system needs more memory. Via some events passed to activity code, the activities (generally) get a chance to save their state and restore it when they are re-opened, so they can appear to not have been gone at all.