这是我的第一个问题,我还是一个 Android 菜鸟(希望如此),所以如果我问愚蠢的问题,请尽量原谅我。
我正在开发一个 Android 应用程序,我必须制作一个启动画面。我用这个答案做了一个:如何制作启动画面?. 它工作得很好,但是......这个解决方案为应用程序的其余部分创建了另一个大线程,我试图避免这种情况 - 我认为它会减慢整个应用程序(另一个应用程序线程)。我对吗?
我试图反转整个过程 - 我正在调用 MainMenu 活动,然后为启动创建另一个线程:
public class MainMenu extends Activity implements OnItemClickListener {
private GridView gridView;
private AlertDialog.Builder dialog;
private Intent intent;
private ApplicationPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
prefs = new ApplicationPreferences(this);
setTheme(prefs.GetApplitacionTheme());
SQLDatabase.onCreate();
if (prefs.SplashScreenEnabled()) {
new Runnable() {
@Override
public void run() {
startActivity(new Intent(MainMenu.this, SplashScreen.class));
}
}.run();
}
super.onCreate(savedInstanceState);
setContentView(R.layout.main_menu);
gridView = (GridView)findViewById(R.id.gridView);
gridView.setAdapter(new AdapterMainMenu(this));
gridView.setOnItemClickListener(this);
}
然后在我的 SplashScreen 活动中:
public class SplashScreen extends Activity {
private Locale locale;
private Configuration config;
private ApplicationPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);
}
@Override
protected void onResume() {
try {
Thread.sleep(2500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finish();
}
在 onCreate() Android 调用 onResume() 之后,我决定在这里暂停线程并在完成活动之后。
当应用程序回到主线程时它崩溃了,我不知道为什么。我究竟做错了什么?
提前致谢!安吉斯