Chapter 3. Exploring the AsyncTask
In Chapter 2, Performing Work with Looper, Handler and HandlerThread, we familiarized ourselves with the most basic asynchronous and concurrency constructs available on the Android platform: Handler
and Looper
. Those constructs underpin most of the evented and sequential processing used by the main thread to render the UI and to run the Android components life cycle.
In this chapter, we are going to explore android.os.AsyncTask
, a higher level construct that provides us with a neat and lean interface to perform background work and publish results back to the main thread without having to manage the thread creation and the handler manipulation.
In this chapter we will cover the following topics:
- Introducing AsyncTask
- Declaring AsyncTask types
- Executing AsyncTasks
- Providing indeterministic progress feedback
- Providing deterministic progress feedback
- Canceling an AsyncTask
- Handling exceptions
- Controlling the level of concurrency
- Common AsyncTask issues
- Applications...