Summary

In this chapter we used Handler to queue work for the main thread to process, as a means of maintaining responsiveness in a single-threaded application.

We saw the different ways we can define work with Handler—arbitrary work defined at the call site with Runnable, or predefined work implemented in the Handler itself and triggered by message sending.

We learned how to use Handler in a multithreaded application to pass work and results back and forth between cooperating threads, performing blocking operations on an ordinary background thread, and communicating the results back to the main thread to update the user interface.

We also met HandlerThread and used it to create a background thread with its own Looper, allowing us to use these same techniques to queue work for background processing.

This isn't the last we'll see of Handler and HandlerThread—they can also be usefully put to work in other contexts, as we'll discover in Chapter 5, Queuing Work with IntentService and Chapter 6, Long-running Tasks with Service.

In the next chapter we'll learn about Loaders—a construct designed to ease asynchronous loading of data on the Android platform.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.162.114