title: Flash between splash screen and final app load for some Android phones
body: <p>I have a PhoneGap/Sencha Touch app that has three basic states on app load: splash screen, webview is loaded but Sencha Touch is loading, and Sencha Touch is fully loaded.</p>
  
  <p>On some Android phones (such as my Kyocera Rise), everything goes smoothly. I see the splash screen, then on <code>deviceready</code>, <code>navigator.splashscreen.hide()</code> is successfully called. The html/css hardcoded loading indicator that I have on <code>index.html</code> is shown while Sencha Touch is loading, then when the Sencha Touch code is loaded it shows the fully-loaded app.</p>
  
  <p>However, on other phones (such as my Galaxy S3), things do not work so well. I see the splash screen, then <code>deviceready</code> the splashscreen is hidden. However, the hardcoded loading indicator on <code>index.html</code> does not appear. All I see is a white (or sometimes black) screen. When the Sencha Touch code is fully loaded, the app does successfully appear, however.</p>
  
  <p>Here's what I've tried:
  - Removing various pieces of code. Removing the Sencha Touch code entirely does get rid of the flash and lets the hardcoaded loading indicator on <code>index.html</code> appear.</p>
  
  <ul>
  <li>Putting a few-second delay on when the Sencha Touch code fires. Didn't work</li>
  <li>Firing a javascript alert on <code>deviceready</code> gets rid of the flash and lets the loading indicator appear.</li>
  <li>Replacing the loading indicator with just text: <code>&lt;body&gt;loading&lt;/body&gt;</code>. Didn't work.</li>
  <li>Forcing <code>index.html</code> to rerender by changing its background color as well as switching between <code>display:none</code> and <code>display:block</code>. Didn't work.</li>
  <li>Removing the <code>deviceready</code> listener and just running <code>navigator.splashscreen.hide()</code> right after the <code>&lt;body&gt;</code> markup on <code>index.html</code>. Didn't work.</li>
  </ul>
  
  <p>Based on this information, it looks like this has something to do with Sencha Touch, since completely removing the Sencha Touch code lets the loading indicator show. Maybe has something to do with rendering as well, given that the alert indicator also lets the loading indicator show. However, that's all I've got. It looks like other people have encountered this sort of thing, primarily on iOS and Blackberry though. I haven't found any proposed solution that I've seen elsewhere that seems to fix my issue; a lot of it is just the fact that people used to not be able hide the splashscreen on deviceready.</p>
  
  <p>Is there something I'm missing here? Why might this sort of thing be happening? Why would it only happen on some Android phones?</p>