Amanda Hinchman-Dominguez is a Kotlin GDE and Android engineer. She also hosts Chicago KUG meetups online. Coauthor of Programming Android with Kotlin: Achieving Structured Concurrency with Coroutines. In her spare time, she enjoys trying new cuisine, hot yoga, and crocheting.
Amanda Hinchman-Dominguez
A Hitchhiker’s Guide to Compose Compiler: Composers, Compiler Plugins, and Snapshots
If you are an Android Developer, chances are you are pretty excited about Jetpack Compose! But how does it work? In this talk, we will take you along the journey of a Composable function, from being written, going through the unknown lands of the Kotlin and Compose compilers to being executed and displaying UI!
From Composables all the way down into the compiler plugins, we expose the metaprogramming responsible for all the "magic". Whether your interest is Jetpack Compose, compilers, or code transformations, this talk takes an otherwise complicated topic and makes it digestible for everybody by diving into specific features offered by Compose.
By examining Compose's snapshot system, you'll follow the compiler phases down to intercepting code transformations with IR. By recognizing the patterns that make it hard for Compose to generate efficient code, and this can help us to recognize patterns to use for performance.
Talk Title
Memory Leaks & Performance Considerations: A Cookbook
Out in the wild, Android faces real-life challenges that affect performance and battery life. For example, not everyone has unlimited data in their mobile plans, or reliable connectivity. The reality is that Android apps must compete with one another for limited resources.
From the newly published O'Reilly book "Programming Android with Kotlin: Achieving Structured Concurrency with Coroutines", this talk examines a range of memory leaks in concurrency clashing lifecycles, network data format, and more.
Performance considerations allow you to examine concerns that may impact your application’s ability to scale. If you can use any of these strategies as “low-hanging fruit” in your code base, it’s well worth going for the biggest win with the smallest amount of effort.