The first few seconds after a user taps an app icon are the most unforgiving moment in the entire product. A user who abandons a slow-loading feed screen after they are already invested in the app is annoyed; a user who abandons the launch itself, before they have seen anything the app does, may simply delete it and never find out what they were missing. Startup time is not one number to optimize — it is a chain of distinct phases, each with its own bottleneck, and a fix aimed at the wrong phase produces no measurable improvement no matter how sound the fix looks in isolation.
Bundle size and startup time are related but not identical problems. A large JavaScript bundle makes startup slower because more code has to be loaded and initialized before the first screen can render, but a bundle can also be reasonably sized and still start slowly because of what runs during startup, not how much code exists in total. Treating the two as the same problem leads to teams that spend weeks trimming dependencies while the actual bottleneck was a synchronous analytics initialization call sitting directly in the app's entry file.