Jetpack Compose is a new declarative UI framework for Android (and other platforms), which allows you to write your UI as a set of functions with inputs. Whenever a state changes, any function depending on its value will be called again to emit a new UI.
With Compose growing more popular and adoption across the industry on the rise, more and more complex views and interaction patterns will be implemented in Compose. How does this impact overall app performance? Are there certain kinds of views Compose still isn't well suited for? How does it stack up to the old tried and true UI framework?
Evaluate performance between Compose and the old UI Framework. You could measure a number of things, such as:
- Layout/measure time
- Drawing time per frame, or dropped frames
- Drawing time during certain operations (such as scroll)
- Time to first frame
- Memory usage
- GPU, CPU, and battery usage
- Effects on app size
Some areas worth investigating are:
- Layout process
- Lists using LazyColumns vs RecyclerView
- Complex views
- Canvas operations
- Touch interaction
Of course, you will likely find many others to investigate.
This thesis project may suit you if:
- You are curious about declarative UI
- You are interested in the Android platform
- You care about performance and buttery smooth UIs