Building responsive apps with AsyncTaskLoader

AsyncTaskLoader is a Loader implementation that uses AsyncTasks to perform its background work, though this is largely hidden from us when we implement our own subclasses.

We don't need to trouble ourselves about the AsyncTasks—they are completely hidden by AsyncTaskLoader—but with what we learned earlier about AsyncTask, it is interesting to note that tasks are executed using AsyncTask.THREAD_POOL_EXECUTOR to ensure a high degree of concurrency when multiple Loaders are in use.

Loader is generically typed so, when we implement it, we need to specify the type of object that it will load—in our case android.graphics.Bitmap:

public class ThumbnailLoader extends AsyncTaskLoader<Bitmap> {
    // ...
}

The ...

Get Asynchronous Android now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.