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
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 KotlinCoroutines
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!