Antipattern: freezing the UI with a Service and an IntentService

The worst thing that can happen to your app's responsiveness is an "Application Not Responding" (ANR) dialog. In my previous posts I described how to freeze the UI with a Broadcast Receiver and with a Async Task . In this post I'll freeze the UI with a Service and with an IntentService . A Service is an application component that can perform long-running operations in the background. We should read official doc very carefully. A Service is not a separate process. The Service object itself does not imply it is running in its own process A Service is not a thread . It is not a means itself to do work off of the main thread (to avoid Application Not Responding errors) It should be simple...if you do use a service, it still runs in the main thread of its hosting by default, so you should still create a new thread within the service if it performs intensive or blocking operations. The standard pattern for implementing a Service is to create and run a new ...