应用程序仅在首次运行时正常工作

时间:2012-07-31 23:40:04

标签: android eclipse opengl-es-2.0 avd

几天前,我开始研究我的第一款Android游戏。我选择使用OpenGL ES 2.0,因为它是最熟悉的替代方案。但是,我目前无法在真实设备上测试游戏,所以我决定使用AVD,使用安装了Intel HAXM的4.0.3虚拟设备。这看起来很完美,但我现在遇到了一个非常奇怪的问题。

从Eclipse编译和运行游戏时,它运行正常。但是,如果我第二次运行游戏,无论是通过AVD还是从Eclipse运行,除了背景颜色之外都不会绘制任何内容。如果我更改代码中的任何内容以便Eclipse必须重新编译应用程序,那么一切都会按原样运行,但只能在第一次运行时运行。

我不知道发生了什么。如果我不得不猜测我会说AVD在某种程度上起作用,但是有人知道解决这个问题的方法吗?如果有要求,我会提供相关的源代码,但由于我不知道是什么原因导致这类问题,我现在无法提供。

2 个答案:

答案 0 :(得分:1)

您是否有任何代码正在保存或加载无效的应用程序状态。也许是通过onCreate / onStart / onPause函数?也许你在暂停或关闭正在被错误读回的应用程序时写出一些状态?调用应用程序 - >清除数据会重置此状态,除非您正在写入公共区域,例如SD卡。

答案 1 :(得分:0)

当应用程序暂停时,似乎正在删除纹理,这导致它不会在屏幕上绘制任何内容。重新加载onResume函数中的纹理可以解决问题。