我正在使用Open GL ES 2.0开发Android应用。我对Open GL中的内存管理感到困惑。
我的问题是:
我认为我将不得不实现某种系统来卸载目前在LRU上没有使用的纹理,但我想知道使用什么标准。 该应用程序默默地在某个时刻死亡,我怀疑这是因为我使用了太多的图形内存。
目前我从不卸载纹理,我似乎能够加载很多 - 在Nexus 7上测试我已经能够加载134个1024x1024 RGBA纹理,我计算得超过500MB。我认为一旦纹理加载到图形内存中它们占用的空间就会减少,但这仍然很多,显然我必须管理它,但我想要一些如何开始的技巧。
答案 0 :(得分:0)
如果内存不足,可能会产生GL_OUT_OF_MEMORY错误。另一件事是监控Android中的内存使用情况。
android memory:How do I discover memory usage of my application in Android?
这里有一个关于opengl的有趣问题:how to manage memory with texture in opengl?