我无法解决这个问题。我实际上不明白这一点。 我在创造一个游戏。一个活动,一个级别有大约1000行代码,所以我不打算整个。但问题看起来像这样: 有一些启动活动,它是启动活动,它启动菜单活动并自行关闭。然后我打开我的第一级活动[从菜单,我通过完成()关闭菜单活动,当它完成[此级别活动]时,我想开始另一个活动。但是出现了问题。一切都工作到3天前,现在当我尝试打开活动它只是崩溃。如果我能记住并编辑了一些代码行,我只是在游戏中添加了几个位图。我的关卡中的这个片段正在关闭它,并且假设打开菜单活动:
canvas.drawBitmap(game_over, 0, 0, null);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
soSelCarIgn.release();
soSelCarRun.release();
Intent menu=new Intent("com.ntii.game.adam.Menu");
startActivity(menu);
finish();
所以我尝试打开活动,这个活动在我第二次开始游戏时没有问题。它发生在任何其他活动中,除了关卡本身。 (我的意思是,当我尝试在关卡中打开关卡然后完成()第一关,它就可以了。当我删除正在启动活动的行时,等级自行关闭,一切正常,没有任何错误。
AndroidManifest:
<activity
android:name=".Menu"
android:label="@string/title_activity_main"
android:screenOrientation="portrait"
android:noHistory="true" >
<intent-filter>
<action android:name="com.ntii.game.adam.Menu" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
有一行“android:noHistory =”true“因为我试图以任何方式关闭此活动。它给了我错误: http://img839.imageshack.us/img839/7426/wtfvh.jpg
我最近添加的位图是小尺寸的jpeg,我试图优化和清理代码,删除其他一些位图,仍然无法正常工作。看起来这个活动在finish()之后没有关闭,当我尝试打开菜单活动时,内存不足。任何想法,线索?
如果有人不了解整个活动的运行顺序:
SPLASH - &gt;菜单 - &gt;等级 - 尝试打开,但有崩溃 - &gt; MENU
答案 0 :(得分:1)
问题在于:
Intent menu=new Intent("com.ntii.game.Menu");
使用
Intent menu=new Intent("com.ntii.game.adam.Menu");
OR
Intent menu=new Intent(this, com.ntii.game.adam.Menu.class);
答案 1 :(得分:0)
试试这个:
Intent menu = new Intent(currentClass.this, Menu.class);
startActivityForResult(menu,0);
原因是,类的名称是“Menu”,这是你想要引用的,你不需要动作名称,即:“com.ntii.game.adam.Menu”。 ** currentClass只是引用您应用中当前类的内容,因为我不知道它是什么。