Android 建议您在启动时执行冗长的计算时使用闪屏。以下是 Android 开发者网站的摘录 - 响应性设计:
“如果您的应用程序有一个耗时的初始设置阶段,请考虑尽快显示启动屏幕或渲染主视图并异步填写信息。在任何一种情况下,您都应该以某种方式表明正在取得进展,以免用户认为应用程序已冻结。” -- 安卓开发者网站
您可以创建一个显示进度对话框的活动,同时使用 AsyncTask 从网络下载 xml 提要,解析它,将其存储到数据库(如果需要),然后启动显示新闻提要的 Activity。通过调用 finish() 关闭启动 Activity
这是一个骨架代码:
public class SplashScreen extends Activity{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
// set the content view for your splash screen you defined in an xml file
setContentView(R.layout.splashscreen);
// perform other stuff you need to do
// execute your xml news feed loader
new AsyncLoadXMLFeed().execute();
}
private class AsyncLoadXMLFeed extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute(){
// show your progress dialog
}
@Override
protected Void doInBackground(Void... voids){
// load your xml feed asynchronously
}
@Override
protected void onPostExecute(Void params){
// dismiss your dialog
// launch your News activity
Intent intent = new Intent(SplashScreen.this, News.class);
startActivity(intent);
// close this activity
finish();
}
}
}
希望有帮助!