What I do:
I create a MAIN level that will load as defaults in the project.
Once that level is loaded it will just play a widget with a video and one ‘loading’ animation in the lower right angle of the screen…
while you see the animation I load my soft references and everything I need to make the game work. I usually make all levels as sublevels of this MAIN simple level. This way I can also load the levels as stream levels and once loaded I can replace the loading animation by a skip intro button or something like that…after everything is loaded and the animation finishes then I go to the game main menu or skip the intro if assets were loaded.
This way I make sure the game will load fast and no need to wait for everything loaded for start.
in this example I start loading the sounds:
you can see in the ending (lower right) after loading all sounds I start loading my levels as stream levels (the game is not heavy so i can do it)
The games uses many photos so after the levels I load the Photos:
and when the photos are loaded then I am ready for enable intro skipping
In android the game takes like 5 secs to start the intro and about 10 more seconds in loading the other assets to be ready to go.