The Android Framework team has been working on improving the runtime and its garbage collector for quite some time.  
There have been many improvements to the garbage collection strategy.  
With ART on Lollipop, according to its creator, there should never be a visible GC pause when the app is in the foreground.  
More information here : <a href="http:&#x2F;&#x2F;www.anandtech.com&#x2F;show&#x2F;8231&#x2F;a-closer-look-at-android-runtime-art-in-android-l&#x2F;2" rel="nofollow">http:&#x2F;&#x2F;www.anandtech.com&#x2F;show&#x2F;8231&#x2F;a-closer-look-at-android-...</a>  
and in various I&#x2F;O talks.  
Extremely bad code will still cause problems (but that&#x27;s true for whatever memory management strategy you rely on) but in my experience, on a nexus 5, GC pauses are no longer a real issue on Android.<p>Still, Samsung is here to samsung things up. Comparisons of scrolling performances between a flagship samsung device and a nexus are just as expected : <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;GalaxyS6&#x2F;comments&#x2F;3ck9no&#x2F;scrolling_comparison_between_s6_and_nexus_5&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;GalaxyS6&#x2F;comments&#x2F;3ck9no&#x2F;scrolling_...</a><p>That&#x27;s another topic entirely, but I think that another key factor is to move almost as much as possible of the UI work to a separate thread, not just to make heavy work in the background. It is starting to happen with ripple animations on a RenderThread, but I think that this strategy could be generalized.