Course Information
Course Overview
Master multithreading in Android: from a single thread to Thread Pools, RxJava and Kotlin Coroutines
Multithreading is an essential topic in Android development because, to write snappy and reliable Android applications, you must use more than one thread. Unfortunately, multithreading is also a very complex technique that introduces unique challenges. Incorrect multithreaded code manifests itself as unresponsive user interfaces, freezes, memory leaks, crashes and other bugs, all of which can be very challenging to find and fix.
In this course, you'll dive into the fundamentals of multithreading and learn to write correct and performant multithreaded code of any complexity in your Android applications!
Topics covered in this course:
What a thread is
Why multithreading is uniquely challenging
Keep the user interface responsive
Make your multithreaded code thread-safe (i.e. correct and reliable)
Analyze the performance of multithreaded code
Manage up to hundreds(!) of concurrent threads
Compare several multithreading frameworks for Android, including AsyncTask, RxJava and Kotlin Coroutines
More...
You'll practice everything you'll learn here by solving a series of carefully designed, hands-on exercises. So, after completing this course, you'll have extensive hands-on experience with multithreaded code.
We'll review several popular concurrency frameworks and see how they accommodate the same complex multithreaded feature. This will allow you to grasp the full landscape of multithreading in Android ecosystem. This will allow you to choose the framework you like the best to use in your Android projects!
So, if you want to become an expert in Android multithreading, this course is perfect for you!
Course Content
- 10 section(s)
- 81 lecture(s)
- Section 1 Introduction
- Section 2 Concurrency and Multithreading Fundamentals
- Section 3 Thread Class, Garbage Collector, Memory Leaks
- Section 4 UI Thread in Android Applications
- Section 5 Multithreading Challenges
- Section 6 Paused (Blocked) Threads
- Section 7 Clean Design of Multithreaded Code
- Section 8 Thread Pool
- Section 9 AsyncTask
- Section 10 ThreadPoster
What You’ll Learn
- Write multithreaded code of any complexity in your Android apps
- Learn the difference between the UI and background threads
- Understand advanced concepts like Synchronization, Locks, Volatility and Happens-Before
- Analyze and reason about the thread-safety of your code
- Manage hundreds of inter-dependent threads
- Prevent memory leaks
- Compare popular concurrency frameworks for Android: AsyncTask, RxJava, Coroutines
Skills covered in this course
Reviews
-
SSargis Inants
Firstly, I like that the same task, the same code is constantly being refined with the passage of a new topic. Secondly, he tells and explains very well (except for the last topic, but that's okay), and explains what and why. Thirdly, beginners will especially like it, if suddenly something didn't work out from the exercises, you can always look at the solution. I really liked it, thank you Vasiliy!
-
VViktor Iagusevych
course is great. I like the live demonstration. It will be nice to have some small diagrams to better understand the structure.
-
KKevin Kelly
Tons of good information and relevant for future work I will have. The best part was the fact that all the difficulties were kept in and all the errors and mistakes were brought to light and showcase the complexities of multithreading. Seeing these troubles was the biggest learning point for me to remind me to approach my multithreading work more carefully and plan ahead. Excellent class and learned a lot.
-
BBabajimi Shote
Hits the right spots with respect to native concurrency on Android, not too much information or too little, just the right amount to help you understand native concurrency in Android.