Is there some convention I need to follow to avoid this?
I thought maybe I needed to move the frame declarations out of my init functions.
I thought I could also perhaps avoid this by rendering a transparent overlay until the screen has finished loading, and then remove it. But that seems like a hack.