testing-compose-in-release-mode

Measure Compose performance in release builds with R8 and Macrobenchmark.

472|16|Updated Apr 29, 2026
One-click install
npx skills add https://github.com/skydoves/compose-performance-skills --skill testing-compose-in-release-mode
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: testing-compose-in-release-mode
Source: https://github.com/skydoves/compose-performance-skills/tree/main/measurement/testing-compose-in-release-mode
Command: npx skills add https://github.com/skydoves/compose-performance-skills --skill testing-compose-in-release-mode

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Release-mode measurements eliminate debugging artifacts (interpreted runtime, Live Literals, and partial optimizations) to reflect real user experiences when evaluating Compose performance.

Core Features & Use Cases

  • Configure and validate a release variant with R8 enabled and release symbols
  • Read and interpret Compose Compiler reports from the release output directory
  • Benchmark startup time, frame rendering, and recomposition on physical devices using Macrobenchmark and profiling tools
  • Example use case: verify performance improvements when switching from a debug to a release build on a representative device

Quick Start

Set up a release-with-symbols build, run a Macrobenchmark against a real device, and review the release compiler reports to validate performance.

Frequently Asked Questions about testing-compose-in-release-mode

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does Compose performance differ between debug and release builds?

Compose performance differs because debug builds include interpreted runtime, Live Literals, and partial optimizations that create debugging artifacts. Measuring release builds with R8 enabled eliminates these artifacts to reflect real user experiences.

How do I benchmark Jetpack Compose startup and frame rendering on physical devices?

To benchmark Compose startup and frame rendering, configure a release-with-symbols build, run a Macrobenchmark against a physical device, and review release compiler reports extracted from the build/compose_compiler directory to validate performance.

How do I configure a release variant with R8 for Compose performance testing?

Configure a release variant by enabling R8 and release symbols in your Android project. You need Kotlin 2.0+ with the Compose plugin and a signed release variant, or a debug-signed release, to extract accurate compiler reports.

Where do I find Compose Compiler reports when testing release mode performance?

Compose Compiler reports for release mode testing are located in the build/compose_compiler directory of your Android project. These reports provide primary evidence to identify and fix Compose performance issues like recomposition.

Can I use Macrobenchmark to verify Compose recomposition improvements in release mode?

Yes, you can use Macrobenchmark to verify Compose recomposition improvements by running it against a release build with R8 enabled on a physical device. This ensures measurements reflect real user experiences without debug artifacts.

What are the limitations of testing Compose performance in debug mode?

Testing Compose performance in debug mode is limited by debugging artifacts such as interpreted runtime, Live Literals, and partial optimizations. These artifacts obscure real user experiences and produce inaccurate benchmark results.