android - 更改 Activity : Reloading Activities, 速度变慢 - 这是为什么?

标签 android android-intent android-activity

Activity GameActivity:首次打开应用程序时打开的页面。 Activity GameMain:游戏的播放 Activity 。 Activity GameWin:转移到下一个 GameActivity(最终会有一个“您赢了!”屏幕,其中包含统计信息和其他内容)

  1. 申请开始
  2. 这是触发:

    button = (Button) findViewById(R.id.button1);
    
    button.setOnClickListener(new OnClickListener() {
    
        public void onClick(View arg0) {
            Intent intent = new Intent(context, GameMain.class);
            intent.putExtra("level",1);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            finish();
        }
    
    });
    
  3. GameMain 现已加载。字符 circle 现在位于屏幕的左侧。

  4. circle 到达屏幕的右侧时,我的游戏循环中的这个 if 语句现在变为 true:

        if ((circle.x+width/2 > end.startx) && (circle.x-width/2 < end.stopx) && (circle.y+circle.size==end.starty-width/2)) {
                layout.removeAllViews();    
                Intent intent = new Intent(context, GameWin.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.putExtra("level",level);
                finish();
                startActivity(intent);
        }
    
  5. GameWin 屏幕执行此操作:

        Log.v(TAG,"Goint to level: "+(level+1));
        Intent intent = new Intent(context, GameMain.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtra("level",(level+1));
        startActivity(intent);
        finish();
    
  6. 有时它会工作,然后转到 GameMain,关卡数据为 2,只是比我通过关卡屏幕直接进入 level2 慢得多。有时它会工作,并转到 GameMain,级别数据为 2,然后一遍又一遍地重新加载页面。有时,我的手机会重新启动。

  7. 如果我有能力完成第 2 级,我就会这样做。如果它工作、刷新或重启手机,级别 3 甚至更慢。

  8. 如果我在任何时候点击“主页”,它会转到我的主屏幕,但应用程序自行打开回到 GameMain 最后一关(回到第 6 步或第 7 步)。

我做错了什么?

API 级别 8,LG P500 (2.3.3)

事实证明这不是问题所在。游戏循环仍在后台运行。

最佳答案

这里有两件事可以尝试:

  1. 在 GameMain 中,确保在 finish() 之前调用 startActivity(intent)
  2. 添加noHistory到 list 中的 Activity 并设置为 true

编辑 您应该开始将日志记录语句添加到您的函数和回调中。这将向您显示正在运行的内容,并为您提供有关运行时间的计时信息。示例:

onCreate(){
   Log.i(TAG, "onCreate++");
   super.onCreate();

   //other code here

   Log.i(TAG, "onCreate--");
}

关于android - 更改 Activity : Reloading Activities, 速度变慢 - 这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11288163/

相关文章:

java - 获取嵌入图片 : Call to getEmbeddedPicture failed when i put more than one mp3-file

android - 刷新 recyclerview 时出现 NullPointerException

android - 单击某个按钮后如何启用按钮?

android - 通过 Intent 传递可分割对象的实例是否会泄漏内存?

java - 返回 Android 中的上一个 Activity

android - 检测 onActivityResult 的 Activity 创建

java - 图片无法上传到 FTP

java - 带有 getActivity() 的 NullPointerException 且不确定如何执行 Intent

android - 将数据从广播接收器传递到 Activity

android - 我的应用程序中的每个 Activity 都添加到应用程序抽屉中