The goal of this project is to demonstrate performance issues related to Compose grid.
To achieve best possible performance examples are kept as simple as possible, also:
- verified in R8 release mode
- contains baseline profile for scrolling
- stable Compose parameters used
- unique and stable item keys applied for grid items
Currently these examples are implemented:
- network images grid with Coil AsyncImage loading
- paginated network images grid with Coil AsyncImage loading
- network images grid with Glide AsyncImage loading
- boxes with random colors grid
- paginated boxes with random colors grid
- modularized (2 static horizontal lists + paginated vertical list) boxes with random colors grid
Simple grid which instantly demonstrates that jank appears while scrolling the grid. Noticeable both by human eye and in profiler:
Same issues as with simple image grid without pagination:
No noticeable performance issues though few janky frames are visible in profiler:
No performance issues visible even without a baseline profile.
No noticeable performance issues though janky frames are visible in profiler:
Same janky frames as with regular paginated grid.