An Android service is a component started by an application that runs in the background. The service does not have any application UI associated with it, so the user does not directly interact with it, only your application. The service continues to run if the user backgrounds the application, such as when switching to a different application or hitting the Home button.
• Can only run at intervals that you specify (or only once).
• Can only be started programmatically by the Titanium application that defined it. They cannot be declared in the Android manifest and started by a separate application.
• May stop running if the application is killed, even though the service is restarted.
• A started service is a service started by the application, but the application has no direct reference to the service. It runs freely in the background. If the application is destroyed, the service continues to run.
• A bound service is a service started by the application, where the application binds itself to the service. If the application is destroyed, the service is destroyed.
In Titanium, there really is not a distinction between the two services. The only difference is:
• A started service is a service created and started by a Titanium application and may stop running if the application is destroyed.
• A bound service is a service created by a Titanium application, which returns a reference to a Service object that the application can invoke methods on to start and stop the service, and bind callbacks to.