我无法解决这个问题。我其实不明白这一点。我正在创建一个游戏。一项活动,一个级别有大约 1000 行代码,所以我不会全部输入。但是问题看起来像这样:有一些启动活动,它启动了菜单活动并自行关闭。然后我打开我的第一个级别活动[从菜单,我通过finish()关闭菜单活动],当它完成时[这个级别活动],我想开始另一个活动。但是出现了问题。直到 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();
所以我尝试打开活动,在我第二次开始游戏时打开没有问题。它发生在任何其他活动中,除了关卡本身。(我的意思是,当我尝试在关卡中打开关卡然后完成()第一个关卡时,它可以工作)。当我删除开始活动的行时,关卡会自行关闭,一切正常,没有任何错误。
安卓清单:
<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,更重要的是我尝试优化和清理代码,删除了一些其他位图,仍然不起作用。看起来这个活动在完成()之后没有关闭,当我尝试打开菜单活动时,没有足够的内存。任何想法,线索?
如果有人不了解整个活动的运行顺序:
SPLASH --> 菜单 --> LEVEL - 尝试打开,但有崩溃 -> 菜单