【发布时间】:2014-03-27 12:10:07
【问题描述】:
在我的应用程序中,主页包含很多要加载到我的上传管理器活动中的图像,因此可能需要几秒钟,具体取决于有多少图像。我计划创建一个启动画面来执行此加载,同时显示一个不像带标题的默认空白屏幕那么糟糕的图像。我已经这样做了,它应该可以工作并且确实可以,除了 setcontentview() 确实运行但不显示。
public class SplashScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);
load l=new load();
l.execute(this);
}
class load extends AsyncTask<Activity, Object, Object>{
@Override
protected Object doInBackground(Activity... a) {
// TODO Auto-generated method stub
Log.i("ss", "splash");
Intent intent = new Intent(a[0], UploadManager.class);
startActivity(intent);
a[0].finish();
return null;
}
}
}
有人有什么建议吗? 并随时询问详细信息,我认为我解释得不是很好。
编辑:
感谢你们的快速回复。 但是我认为问题在于我没有将启动画面用于正确的目的, 涉及的过程:
Intent intent = new Intent(a[0], UploadManager.class);
startActivity(intent);
a[0].finish();
似乎立即完成,这意味着我的 onCreate 方法中的图像直到启动屏幕之后才执行。相反,我所做的是将我的网格加载更改为 asynktask,而不是只在其中做我的图像。
我现在可以快速加载,几秒钟后就会出现图像。我将实施某种进度对话框。
其他有类似问题的人应该像我一样优先考虑提高加载效率。
【问题讨论】:
标签: java android android-asynctask android-activity splash-screen