Tin Novakovic

Compare The Market, Android Engineer

Talk Title

Improving App Performance With Custom Thread Pools

Room

Things

Date

31.10.2024

Time

11:15 > 20 min

Share

on Twitter

In this presentation, I will discuss how to optimise the performance of an app by implementing a custom thread pool.

The audience will learn how to replace multiple thread pools created by libraries such as Coroutines, WorkManager, and OkHttp with a single, efficient custom thread pool.

Key points include:

1. Thread Pool Awareness: Understanding how various libraries create threads without awareness of existing threads and what the impact of that is on performance.

2. Thread Pool Auditing: Demonstrating how to print to the LogCat a list of the currently running threads and showcasing a before and after.

3. Performance Enhancement: Reducing RAM usage and improving startup times by consolidating thread pools.

4. Custom Thread Pool Implementation: Demonstrating through code snippets how to create a Thread Pool and integrate it into OkHttp, Coroutines and WorkManager.

5. Understanding The Differences Between Coroutines IO and Default Dispatchers: Using this knowledge to create a custom Thread Pool for IO work and CPU work.

This talk will provide concrete techniques for developers to enhance app performance, making it a standout topic for the conference.

Experience Level:
7 years experience as an Android Engineer, currently at Compare The Market for almost 4 years.

I would rate myself as having intermediate knowledge on this topic, however it is a specialised topic.

I have not given this talk anywhere, although I have presented this topic internally at Compare The Market.

Keywords:
asynchronous programming, thread pool, performance optimisation

Speaker Bio

I’m Tin, a self taught Android Engineer currently at Compare The Market, I’m a lover of Compose, Coroutines and multi-platform technologies.

My career wouldn’t have started without an open tech community and that’s why I’m here, to give back to a community that has given me so much.

Menu