Speaker

HyunWoo Lee

HyunWoo Lee

Android/React Native Engineer Viva Republica(Toss)/Organizer GDG Korea Android, KUG(Kotlin User Groups) Seoul

Gunpo, South Korea

Actions

Hello, I'm HyunWoo Lee from South Korea. I'm working for Toss, the most popular banking/fin-tech application in South Korea.
Also I'm organizer of Kotlin User Groups Seoul & GDG Korea Android.

Careers & Experiences
- 2024.07 ~ : Android/React Native Engineer, Viva Republica(Toss)

- 2025.01 ~ : Organizer, GDG(Google Developer Groups) Korea Android
- 2023.10 ~ : Organizer, Kotlin User Groups Seoul
- 2023.08 ~ 2024.07: Lead, GDSC(Google Developer Student Clubs) Konkuk University, South Korea
- 2021.04 ~ 2023.07: Android/React Native Developer, Mathpresso Inc.(QANDA)

- Speaker of DroidKnights(South Korea) 2024
- Speaker of DroidKaigi(Japan) 2024/2025
- Contributor, DroidKaigi(Japan) Conference Application
- Contributor, DroidKnights(South Korea) Conference Application

Area of Expertise

  • Information & Communications Technology

How Android Uses Data Structures Behind the Scenes

Whether you graduated with a computer science degree or studied data structures while preparing for developer interviews, you’ve likely encountered concepts like LinkedList, Disjoint Set, B-Tree, and Red-Black Tree at least once.
But have you ever considered actually applying these data structure concepts when building real Android apps? In fact, these data structures are often used behind the scenes in the Android framework and its libraries—even though you may never need to interact with them directly. In this presentation, we’ll explore how data structure knowledge is employed within the Android framework and key libraries, and explain why it’s important for us to understand these concepts.

Introduction: Have you ever leveraged knowledge of data structures when developing Android applications?
- If so, are the data structures we learn actually used in real Android development?
1. The Layout Tree (Composable Tree) for rendering the screen
- About the Tree data structure
- Why the Tree was the inevitable choice—considering traversal time complexity (efficiency)
- Based on this, how is the screen rendered and updated efficiently?
2. Dependency Injection Tools (Graph/Directed Acyclic Graph)
- About the Directed Acyclic Graph data structure
- Why Dagger chooses a graph data structure for dependency injection
- How to detect and resolve circular dependencies using this data structure
Conclusion: Data structure knowledge is being used in ways you might not realize

If time allows:
3. The Handler mechanism for processing Runnables
- About Priority Queues
- Why priority queues are an efficient choice
4. Image caching (LruCache)

Essential concepts to know when learning Declarative UI

"Declarative UI" is a hot topic in the mobile UI development ecosystem these days. Declarative UI toolkits provided by the OS, such as Jetpack Compose and SwiftUI, are replacing the traditional imperative approach to UI development.
Moreover, the cross-platform market is getting bigger by the day, and as long as you know the different types of declarative UI toolkits such as Flutter, React Native, and Compose Multiplatform, you can deliver market-ready products on any platform.
But does the usage look different for each toolkit? No. The syntax and specific usage of each toolkit may vary, but the overall concepts behind them are similar or identical.
In this session, we'll take the essential concepts covered in declarative UI and see how they're implemented in Jetpack Compose, SwiftUI, and even React Native if you can afford it, so that you can quickly learn the different declarative UI toolkits.

- What is Declarative UI?
- What is different between imperative-fashioned way and declarative-fashioned way?
- Re-draw UI and state(Recomposition/Re-render): Core concept of Declarative UI
- Prevent inefficient construction of objects: Memoization
- How to pass objects in UI Nodes?: CompositionLocal(Context)
- Various ways of state management in each toolkits
- Future of state management in Android: Introduction to Server State
Management(tanstack-query from React/riverpod from Flutter)

DroidKaigi 2025 Sessionize Event

September 2025 Tokyo, Japan

DroidKaigi 2024 Sessionize Event

September 2024 Tokyo, Japan

HyunWoo Lee

Android/React Native Engineer Viva Republica(Toss)/Organizer GDG Korea Android, KUG(Kotlin User Groups) Seoul

Gunpo, South Korea

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top