Возможно, это не лучший подход, но мое приложение использует onCreate
для загрузки / подготовки большого количества макетов в ViewAnimator
, поэтому после запуска приложения у меня есть все экраны моего приложения, подготовленные к использованию. Таким образом, переключение между разными экранами происходит плавно и быстро.
Недостаток этого метода в том, что для появления первого макета требуется 5 секунд. Если быть точным - все экраны ViewAnimator
определены в макете XML, и я полагаю, что они завышены во время onCreate
.
Мое приложение должно иметь заставку, поэтому мой вопрос: есть ли способ использовать эти 5 секунд для показа изображения?
РЕДАКТИРОВАТЬ:
Благодаря вашим ответам я пришел к такому простому решению:
Activity activity;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main_splash);
activity = this;
LinearLayout splash_layout = (LinearLayout) this.findViewById(R.id.splash_layout);
// after 1 second of splash screen, start initializing everything
splash_layout.postDelayed(new Runnable()
{
public void run()
{
activity.setContentView(R.layout.main);
// Here init whole layout and all class
// During initialization, the splashscreen is still visible
}
}, 1000);
}