mediumConceptScenarioMidSenior
Your SwiftUI screen redraws constantly and scrolling stutters - how would you find out why, and what state-management mistake usually causes it?
4 min readUpdated 2026-08-15
Answer
Short answer
A re-render storm usually comes from one large ObservableObject whose @Published properties fan out too widely, so any single field change invalidates every view reading the object rather than just the row that changed.
Was this answer helpful?
Likely follow-ups
- How would you split one large view model into several without duplicating fetch logic?
- What does the Observable macro track differently from @Published, and why does that matter for a list of a thousand rows?
- Why can a List with a poor id cause both wasted diffing and, separately, stale row content?
- What would you check first in Instruments to confirm the redraw is coming from state rather than layout?
Related questions
- A deep link opens the right screen when the app is in the background and the wrong one when the app was killed. How do you test for that?mediumAlso on ios5 min
- Your Node service has low CPU but latency spikes for every request at the same moment. What is happening?mediumAlso on performance4 min
- A read-only endpoint that returns fifty thousand rows is slow and memory-heavy in EF Core. What is the context doing?mediumAlso on performance4 min
- How do you choose which devices to test on, and what will an emulator never tell you?mediumAlso on ios5 min