我有一个Android应用程序,显示3秒的"启动画面".之后,MainActivity被加载.
不幸的是,MainActivity需要额外的约4秒才能加载.在第一次启动时甚至更长.但是,当应用程序加载时,一切运行顺利.
现在,如何在Splash Screen的显示期间实现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);
}
}
Run Code Online (Sandbox Code Playgroud)
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...
}
}
Run Code Online (Sandbox Code Playgroud)