ImmutableList vs. List in Jetpack Compose: Rethinking “Best Practice” After Strong Skipping Mode
dev.to·19h·
Discuss: DEV
💾Persistent Heaps
Preview
Report Post

Before Strong Skipping Mode became the default, it was widely considered best practice in Compose to prefer immutable collections (e.g., kotlinx.collections.immutable.ImmutableList) over unstable collections like List<T> for stability and better skipping behavior.

With Strong Skipping Mode now being the default, the situation has changed. In most real-world screens, immutable collections don’t automatically outperform unstable ones - in many cases they provide little to no performance benefit, and can even become pure overhead due to conversion/allocation and equality costs.

Case-by-Case Analysis

To make this discussion concrete, I’ll compare ImmutableList<T> and List<T> across three common cases. For simplicity, I’m not considering the case where a List<T> is backe…

Similar Posts

Loading similar posts...

Keyboard Shortcuts

Navigation
Next / previous item
j/k
Open post
oorEnter
Preview post
v
Post Actions
Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Recommendations
Add interest / feed
Enter
Not interested
x
Go to
Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Browse
gb
Search
/
General
Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help