Splashscreen is only showed sometimes
<p>I defined a splashscreen the following way:</p>

<pre><code>/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ExceptionHandler.register(this);
        setFullscreen();
        splashScreen();
    }

private void splashScreen() {

        runOnUiThread(new Runnable() {

            @Override
            public void run() {
                setContentView(R.layout.splashscreen);
                splash = (ImageView) findViewById(R.id.splashscreenLayer);
                startSplashTime = new Date();
            }
        });

        new LoadingThread().start(); 
    }

private class LoadingThread extends Thread {

        @Override
        public void run() {
            checkNetwork();
        }

    }
</code></pre>

<p>Somewhere at specific conditions in the checkNetwork() method, the stopSplash method is called:</p>

<pre><code>public void stopSplash() {
        Message msg = new Message();
        msg.what = STOPSPLASH;

        Date endSplashTime = new Date();
        long time = endSplashTime.getTime() - startSplashTime.getTime();
        System.out.println("Time Splashscreen was displayed: " + time);
        if (time &lt; SPLASH_MIN_TIME) {
            long delay = SPLASH_MIN_TIME - time;
            System.out.println("Delay Splashscreen for: " + delay);
            try {
                Thread.sleep(delay);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            splashHandler.sendMessage(msg);
        } else {
            System.out.print("Show Splashscreen now");
            splashHandler.sendMessage(msg);
        }
    }
private Handler splashHandler = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case STOPSPLASH:
                    splash.setVisibility(View.GONE);
                break;
            }
            super.handleMessage(msg);
        }

    };
</code></pre>

<p>The problem is, sometimes (maybe 1 of 10) if I started the app directly from Eclipse, the Splashscreen isn't showed, but instead just a black screen.</p>

<p>Other problem: if i restart the app, e.g. after onDestroy() was called after clicking the back button on the device, the Splashscreen is almost never shown.</p>

<p>Any hints why?</p>

<p>My assumption: could it be, that the LoadingThread starts "faster" than the Runnable, and so the network staff is done before the Splashscreen is set?</p>
