Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
It may not be immediately obvious, but the fact that services are running does not automatically mean that your code is running in the background. In fact, by default, the methods that your service overrides are executed on the main application thread. This means that if you call StartService(...) from your activity, your service's OnStartCommand(...) method is called, but your activity blocks calling this method on your service. If you're not careful, you could tie up your user interface while starting a service if you do a lot of processing in the OnStartCommand(...). For this reason, it is important to move any lengthy processing routines to a different thread. There are several ways to accomplish this task in Mono for Android: