Dependencies and prerequisites
- Android 3.0 (API Level 11) or higher
- Loading Data in the Background training class
- Running in a Background Service training class
You should also read
Try it out
ThreadSample.zip
The speed and efficiency of a long-running, data-intensive operation often improves when you split it into smaller operations running on multiple threads. On a device that has a CPU with multiple processors (cores), the system can run the threads in parallel, rather than making each sub-operation wait for a chance to run. For example, decoding multiple image files in order to display them on a thumbnail screen runs substantially faster when you do each decode on a separate thread.
This class shows you how to set up and use multiple threads in an Android app, using a thread pool object. You'll also learn how to define code to run on a thread and how to communicate between one of these threads and the UI thread.
Lessons
- Specifying the Code to Run on a Thread
-
Learn how to write code to run on a separate
Thread
, by defining a class that implements theRunnable
interface. - Creating a Manager for Multiple Threads
-
Learn how to create an object that manages a pool of
Thread
objects and a queue ofRunnable
objects. This object is called aThreadPoolExecutor
. - Running Code on a Thread Pool Thread
-
Learn how to run a
Runnable
on a thread from the thread pool. - Communicating with the UI Thread
- Learn how to communicate from a thread in the thread pool to the UI thread.