我的游戏需要很长时间才能从后台加载。在加载期间,屏幕是黑色的(大约5-7秒,所以用户可能会认为它崩溃了)。
我决定在进入前台时显示一个祝酒词。
protected void onResume() {
System.out.println("onResume method called");
Context context = getBaseContext();
// Context context = getApplicationContext();
CharSequence text = "i appreciate your patience";
Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
toast.show();
super.onResume();
wl.acquire();
if (accelerometerEnabled) {
accelerometer.enable();
}
}但是吐司只有在它恢复后才会出现(这使它变得无用)我已经尝试了getApplicationContext,getBaseContext以及活动本身。那么,是否可以在没有应用程序上下文的情况下直接在窗口上添加toast?(可能在系统级上下文中)
发布于 2012-06-25 09:49:24
我认为这与游戏从后台返回时在UI线程上加载有关
尝试将所有非UI线程相关逻辑移动到AsyncTask中。
这应该允许您的土司消息是可见的,而您的游戏正在加载。
发布于 2012-06-25 10:25:47
这就是闪屏可能有用的地方。只需在xml中放置一个包含所有UI的闪屏,然后在异步任务中启动加载过程。在异步任务的onPostExecute上,将启动布局的可见性设置为Gone。
别忘了处理方向的改变。
https://stackoverflow.com/questions/11182633
复制相似问题