Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><strong>Cons of using a splash screen</strong></p> <ol> <li><p>It is orthogonal to how Android apps usually operate</p> <p>If you haven't noticed, almost none of the built-in apps have splash screens (the only prominent example is Google Maps Navigation). Generally apps are designed to show a screen to the user immediately then load data in while presenting the user with some options (see Google Maps).</p></li> <li><p>It is annoying to users</p> <p>Splash screens make the top of the list on <a href="https://stackoverflow.com/a/1011285/984393">What are common UI misconceptions and annoyances?</a></p></li> </ol> <p>I say this as a user of apps who is often put off by splash screens. They are especially bothersome because I want to switch apps rapidly and they prevent me from doing so.</p> <p>Perhaps you could implement a scheme where you display your main page, and have a widget on that page showing the loading progress. That is more user friendly in my opinion. Your goal should be get out of <code>onCreate</code> as soon as possible leaving a responsive UI for the user. The Amazon Appstore is a good example: it shows all the headers and then loads in the apps and images while you play around with things.</p> <p><strong>If have no choice</strong></p> <p>Pros of using a Thread for a splash screen</p> <ol> <li><p>It simplifies concerns over lifecycle</p> <p>If you use an Activity, you will have to make sure it is not on the stack so that users cannot navigate back to it (<a href="https://stackoverflow.com/questions/3625394/android-splash-screen-only-once">Android: 'Splash screen' only once</a>).</p></li> <li><p>It simplifies the logic of starting this activity</p> <p>You won't have to worry about when or where to start the splash Activity. Your other Activities can call the Activity with a splash screen normally, and you won't have to switch back and forth between the splash Activity and your actual activity</p></li> <li><p>You don't have to worry about the splash Activity as an entity</p> <p>It just leaves you with an Activity that takes longer to start up</p></li> </ol>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload