<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/tracing-recompositions-without-boilerplate-code-km9r7evu3" -->

---
title: Tracing recompositions without boilerplate code | daily.dev
description: The post discusses the challenges faced while using the Layout Inspector in Android Studio and introduces the open-source plugin ComposeInvestigator as a...
canonical: https://daily.dev/posts/tracing-recompositions-without-boilerplate-code-km9r7evu3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Tracing recompositions without boilerplate code | daily.dev
og:description: The post discusses the challenges faced while using the Layout Inspector in Android Studio and introduces the open-source plugin ComposeInvestigator as a...
og:url: https://daily.dev/posts/tracing-recompositions-without-boilerplate-code-km9r7evu3
og:image: https://api.daily.dev/og/posts/KM9r7eVU3.png
og:image:alt: Tracing recompositions without boilerplate code
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Tracing recompositions without boilerplate code

**[droidcon](https://daily.dev/sources/droidcon)** · 1 min read · 0 upvotes · 0 comments

## Summary

The post discusses the challenges faced while using the Layout Inspector in Android Studio and introduces the open-source plugin ComposeInvestigator as a solution. ComposeInvestigator helps trace recompositions, provides logs for recomposition requests, recomposition processes, state variable value changes, and skipped recompositions. It also offers additional runtime functions and API usage. The post concludes by highlighting the author's understanding of Jetpack Compose's recomposition behavior gained through working on the ComposeInvestigator project.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.droidcon.com/2024/03/09/tracing-recompositions-without-boilerplate-code/>

---

Tags: [#android](https://daily.dev/tags/android), [#jetpack-compose](https://daily.dev/tags/jetpack-compose), [#android-studio](https://daily.dev/tags/android-studio)

[View this post on daily.dev](https://daily.dev/posts/tracing-recompositions-without-boilerplate-code-km9r7evu3)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Tracing recompositions without boilerplate code","url":"https://daily.dev/posts/tracing-recompositions-without-boilerplate-code-km9r7evu3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/tracing-recompositions-without-boilerplate-code-km9r7evu3"},"datePublished":"2024-03-09T09:06:13.028Z","dateModified":"2024-05-09T09:28:05.588Z","description":"The post discusses the challenges faced while using the Layout Inspector in Android Studio and introduces the open-source plugin ComposeInvestigator as a...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dd043d49835b408a7b3c40a157b73528?_a=AQAEufR","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/dd043d49835b408a7b3c40a157b73528?_a=AQAEufR","isAccessibleForFree":true,"articleSection":"droidcon","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"droidcon","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/81cb1c2f23ad40c993651c6f90c69be0","url":"https://daily.dev/sources/droidcon"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/tracing-recompositions-without-boilerplate-code-km9r7evu3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"android,jetpack-compose,android-studio","timeRequired":"PT1M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"droidcon","item":"https://daily.dev/sources/droidcon"},{"@type":"ListItem","position":3,"name":"Tracing recompositions without boilerplate code"}]}
```

