 <p>An <code>IntentService</code> runs in the background on a <code>seperate Thread</code> so anything done in the service will not effect the UI. BUT once the service finishes doing what it is suppose to, the service terminates itself. </p> <p>A <code>service</code> also does stuff in the background BUT on the <code>UI thread</code> so if you have any time consuming things that need to be done it will hold up the UI. this also runs until you tell it to stop for the most part.</p> <p>If you are using alarms to trigger everything I would say the IntentService is fine. </p>