Debugging Compose apps
The title of this section, Debugging Compose apps, may indicate major differences to debugging traditional View-based apps. Fortunately, this is not the case. On Android, all composable hierarchies are wrapped inside androidx.compose.ui.platform.ComposeView
. This happens indirectly if you invoke the setContent {}
extension function of ComponentActivity
, or if you deliberately include a composable hierarchy inside a layout (see Chapter 9, Exploring Interoperability APIs). Either way, in the end, ComposeView
is displayed on screen—for example, inside an Activity or a Fragment. Therefore, all aspects regarding the basic building blocks of an Android app (Activities, Fragments, Services, Broadcast Receiver, Intents, and Content Provider) remain the same.
Of course, any UI framework advocates specific debugging habits. For example, the View system requires watching for null
references. Also, you need to make sure that changes in state reliably trigger updates...