Trace the recomposition of a Composable with its cause without boilerplate code 😎.
This tool was initiated for personal learning and has not been proven necessary for production. However, it can perform the following tasks:
- Reports if a Composable is skipped during recomposition.
- Reports if the arguments of a Composable have changed and been recomposed. It can also compare the values before and after the change.
- Reports if the state values inside a Composable have been modified. It can also compare the values before and after the change.
- Retrieves the call stack leading up to the invocation of a Composable. This helps identify the specific Composable being recomposed when the same Composable is reused in multiple places.
(Read the Medium's introductory post)
Just add the plugin to your module-level Gradle like this:
plugins {
id 'land.sungbin.composeinvestigator' version '<version>'
}
Important
ComposeInvestigator is heavily dependent on the version of Compose Compiler,
so the version of ComposeInvestigator follows the format [Compose Compiler Version - ComposeInvestigator Version]
.
In other words, you need to adjust the Compose Compiler version and Kotlin version to use ComposeInvestigator.
Snapshots of the development version are available in Sonatype's snapshots repository.
repositories {
// ...
maven {
url 'https://s01.oss.sonatype.org/content/repositories/snapshots/'
}
}
You don't need to use any APIs to get started. But if you're looking for a fancier experience, consider using the runtime API.
Comprehensive documentation for ComposeInvestigator is available on project website.