1

我的游戏需要很长时间才能从后台加载。在加载期间,屏幕是黑色的(大约 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 以及 Activity 本身。那么是否可以在没有我的应用程序上下文的情况下直接在窗口上添加吐司?(可能在系统级上下文中)

4

2 回答 2

2

我认为这与您从后台返回时在 UI 线程上加载的游戏有关

尝试将所有非 UI 线程相关逻辑移动到 AsyncTask 中。

这应该让您的 toast 消息在您的游戏加载时可见。

于 2012-06-25T01:49:23.733 回答
1

这是启动屏幕可能有用的地方。只需在 xml 中放置一个覆盖所有 UI 的启动屏幕,然后在异步任务中启动加载过程。在 asynctask 的 onPostExecute 上,将启动布局的可见性设置为 Gone。

不要忘记处理方向变化。

于 2012-06-25T02:25:46.563 回答