SubcomposeSlotReusePolicy

Interface

Common
interface SubcomposeSlotReusePolicy

This policy allows SubcomposeLayout to retain some of slots which we were used but not used anymore instead of disposing them. Next time when you try to compose a new slot instead of creating a completely new slot the layout would reuse the kept slot. This allows to do less work especially if the slot contents are similar.

Functions

fun getSlotsToRetain(slotIds: SlotIdsSet)

This function will be called with slotIds set populated with the slot ids available to reuse. In the implementation you can remove slots you don't want to retain.

fun areCompatible(slotId: Any?, reusableSlotId: Any?): Boolean

Returns true if the content previously composed with reusableSlotId is compatible with the content which is going to be composed for slotId. Slots could be considered incompatible if they display completely different types of the UI.