How to run an expensive calculation with Kotlin Coroutines on the Android Main Thread without freezing the UI

On Android, you should usually perform CPU-intensive tasks on a background thread. Otherwise, if we perform them on the main thread, the UI freezes and gets unresponsive. With Coroutines, however, it is possible to perform expensive computations without ever leaving the main thread and without impacting the functionality of the UI. In this blog post, I show you how this is possible. However, I will also tell you why you should never follow this approach in a real production app.

Read More

Do I need to call suspend functions of Retrofit and Room on a background thread?

After publishing my open source project about Coroutines on Android, which currently includes 16 of the most common, real-world use cases of using Coroutines in an Android application, one of the most common questions I get from developers was whether or not we have to switch to a background thread whenever we call a suspend function to make a network request with Retrofit or a database call with Room in order to not block the main thread which would make the UI freeze and get unresponsive.

Read More

Understanding Kotlin Coroutines with this mental model

For the majority of developers, the concept of a coroutine is pretty unfamiliar, although the first ideas date back to the early sixties. This is because we started to learn Software Development with programming languages like Java, in which the concept of a coroutine simply does not exist. What we did learn, however, are how basic concepts like classes, functions, and interfaces work. Over time, we developed a fundamental understanding of these essential, yet abstract concepts.

Read More

Comparing Kotlin Coroutines with Callbacks and RxJava

I am currently investing a lot of time in learning about Kotlin Coroutines 🎓. Therefore, I did some research about the most common use cases for using Coroutines on Android and implemented them in an [open-source example project]. It currently contains 16 common use cases implemented with Coroutines. I think the samples in this project can be helpful for lots of developers 👨‍💻.

Read More

Kotlin Coroutines – Use Cases on Android

For the last couple of weeks, I worked really hard on a new open-source project called Kotlin Coroutines – Use Cases on Android. Today, I am really proud to present “Version 1.0” to you!

Read More

Do we still need LeakCanary now that Android Studio 3.6 has “Memory Leak Detection”?

Read More

Learnings from KotlinConf 2019

I attended KotlinConf for the first time this year and was really excited to fly to Copenhagen and see what’s going on around Kotlin. As usual, I am going to write about the things I learned at this conference.

Read More

Slides from my presentation “Experiments with Kotlin Multiplatform”

I talked about Kotlin Multiplatform at the Android Heads Vienna Meetup on April, 4th 2019.

Here are the slides. You can find the sample repository here.


Why we use Kotlin for Android Application Development

I wrote about ‘Why we use Kotlin for Android Application Development’ for the blog of my company.


Learnings from Droidcon London 2018

I attended Droidcon London on the 27th and 28th of October 2018. I made it a habit to write a blogpost about all the things I learned after every conference. This forces me to listen to the talks very carefully and find out the essence of the presentation and then afterwards put my learnings into words in a clear and comprehensible way.

Read More