Android: Most of the apps on your Android device probably require a data connection, and you may not even know when they are sending or receiving data. NoRoot Firewall puts you in control of Internet access for apps, as well as how they can access it.
As the name suggests, the app doesn't require you to root your Android. Instead, it creates a VPN and diverts all the traffic on your phone through it. This way, you can choose which traffic you want to allow and which you want to stop. When any app tries to access the Internet, you'll receive an alert where you can allow or deny it and save the setting for the future. This level of control can also let you see when a certain app is accessing data for ads and block it.
NoRoot Firewall also gives you the option to set up filters, both globally as well as for individual apps. Much like a VPN on your PC, these filters let you allow or deny connections to certain IP addresses.
My favourite part of the app is in its ability to specify if an app can access the Internet only over Wi-Fi, only over 3G/Data, neither or both. It gives you the control to tell your Dropbox or Play Store to only download when you're on Wi-Fi, or set some other app to be active only on 3G.
There's some bad news for 4G users though as NoRoot Firewall does not work well with 4G at the moment. And I'd like to issue a word of caution: while I'm using the app, those who are a bit careful about their privacy may not want an app that has control over all the data transfers on their device.