Using the AsyncTask for background work
Throughout this book, we have mentioned the importance of not blocking the main thread. Performing long running operations on the main thread can cause your application to appear sluggish, or worse, hang. If your application doesn't respond within about 5 seconds, the system will likely display the Application Not Responding (ANR) dialog with the option to terminate your app. (This is something you will want to avoid as it's a good way to get your app uninstalled.)
Android applications use a single thread model with two simple rules, as follows:
- Don't block the main thread
- Perform all UI operations on the main thread
When Android starts your application, it automatically creates the main (or UI) thread. This is the thread from which all UI operations must be called. The first rule is "Don't block the main thread". This means that you need to create a background, or a worker, thread for any long-running or potentially-blocking...