Android-дисплей Splash-Screen при загрузке

У меня есть приложение для Android, которое показывает «Заставку» в течение 3 секунд. После этого загружается MainActivity.

К сожалению, для загрузки MainActivity требуются дополнительные ~ 4 секунды. При первом запуске еще дольше. Однако, когда приложение загружено, все работает гладко.

Теперь, как мне этого добиться, чтобы MainActivity загружалась во время отображения заставки? Он просто должен отображать изображение, пока все не загрузится полностью. Я читал об Async-Task, но я не уверен, где его поставить и как правильно его использовать. Может кто-то помочь мне, пожалуйста?

SplashScreen.java

public class SplashScreen extends Activity {
    private static int SPLASH_TIME_OUT = 3000;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_startup);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent i = new Intent(SplashScreen.this, MainActivity.class);
                startActivity(i);
                finish();
            }
        }, SPLASH_TIME_OUT);
    }
}

MainActivity.java

public class MainActivity extends Activity implements OnClickListener, MediaController.MediaPlayerControl {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Some heavy processing
        //starting services
        //starting Google Text to Speech
        //and so on...

    }

}

Ответы на вопрос(5)

Ваш ответ на вопрос