iOS is very, very particular about what gets to run in the background. This is a major differentiating factor between iOS and Android. On Android, it's easy to write apps to run in the background, but on the flip side it's easy for someone else's app to accidentally (or intentionally) run in the background and suck up your battery and/or data and making your phone slow. On iOS, apps can only run in the background for very specific (but gradually expanding) purposes; many other features (like push notifications) that appear to be "background" functions are really handled by Apple or the iOS system itself with minimal app intervention and thus minimal system impact. This contributes to the snappiness of iOS.