移动到背景时,MonoTouch OpenGL应用程序会丢失纹理数据

时间:2011-01-19 21:29:01

标签: iphone opengl-es xamarin.ios

我有一个MonoTouch OpenGL应用程序,它有一堆纹理。当用户点击iPhone按钮将应用程序移动到后台时,我的所有纹理数据似乎都消失了。我只看到一个纯色填充我正在使用最初加载的纹理绘制的三角形。

从背景状态恢复后加载的任何 new 纹理都会正确显示。它只是在应用程序移动到显示实体的背景之前加载的纹理。

The docs表示“你的应用程序应该将纹理,模型和其他资源保留在内存中”,当它移动到后台时。我没有对我的纹理做任何事情,但有些事情迫使他们出局。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我的解决方案是不使用iPhoneOSGameView。这解决了当我的应用程序变为背景时与纹理相关的所有问题。管理帧缓冲区和自己更新计时器的代码非常简单,我发现额外的清晰度(以及从后台恢复工作)值得付出努力。

不使用iPhoneOSGameView也让我对application's timer actually running at full speed when the app is active

感觉更好