Klaas Kabini
02/01/2020, 5:07 PM@Stable
annotation on the composable functions within the framework mean the composable functions are stable and not subject to change? Is that right ?Adam Powell
02/01/2020, 5:11 PM@Stable
appears on types rather than on functions, and usually on interfaces rather than concrete types. At a first approximation you can think of it as saying, "this object is either @Model
or @Immutable
."Adam Powell
02/01/2020, 5:13 PM.equals
would return true
for this object, composition involving it can be skipped. If an object instance itself changes, it will notify the Compose runtime as appropriate.Adam Powell
02/01/2020, 5:17 PMfoo.equals(foo)
is always true, that last part of the contract is important so that compose doesn't skip over important changes that need to be reflected.Adam Powell
02/01/2020, 5:17 PM@Model
automatically meets this contract, and @Immutable
does as well by declaring that an object won't change at all.Klaas Kabini
02/01/2020, 5:19 PMAdam Powell
02/01/2020, 5:20 PM