Answer
How does a PWA splash screen work?
On Android, Chromium automatically generates a splash screen for an installed PWA using the manifest’s name, background_color, theme_color and the largest available icon — you do not draw it manually. It appears briefly while the app’s first paint loads after the user taps the icon. iOS Safari does not generate one automatically and requires custom <link rel="apple-touch-startup-image"> tags per device size.
Android/Chromium
Generated automatically from manifest fields — no extra work required, though you should keep background_color close to your app’s real background to avoid a visible flash.
iOS Safari
Requires manually adding apple-touch-startup-image link tags for each target screen resolution, or accepts a plain white flash if omitted.
Common pitfall
A mismatched background_color and actual app background causes a visible colour flash between splash screen and first paint.