Android下基于NDK的OpenGL程序,纹理狂耗可用内存,找不到原因

解决方案 »

  1.   

    跑跑切水果/愤怒的小鸟这样的OPENGL程序又没这样的问题,看来我的系统是没这样的问题的。但为什么我自己写的程序就狂耗内存呢。从开始跑的700MB可用系统内存,界面切换800次的样子,可用系统内存变成300MB,然后系统就开始杀掉其他的进程,UI假死,过不了多久就黑屏重启!!!
      

  2.   

    产生纹理的时候我用到针对内存的操作,有malloc就有free啊!这两个函数一直是配对使用的!针对纹理也是有glGenTexures就有glDeleteTexures的啊!为什么glDeleteTexures后的纹理还继续占着内存呢?但我看到的纹理ID号又是使用以前的,那就证明纹理被删除是成功的啊!但为何内存没被释放出来,只释放了纹理的ID号?!  很奇怪的现象!!!
      

  3.   

    opengl es如何释放纹理内存
    http://topic.csdn.net/u/20100916/09/2300e0e2-29bc-419d-836b-54c63a2c181c.html
      

  4.   

    bak 9.NDK 下面 编译 libpng.已经如何在opengl es 里面读取png图片. 
    http://blog.csdn.net/xqhrs232/article/details/6323066
    Android下Opengl程序显示文字的简单方法 
    http://blog.csdn.net/xqhrs232/article/details/6279820
    Android下基于OpenGL的程序会发生纹理丢失的原因 
    http://blog.csdn.net/xqhrs232/article/details/6546645
      

  5.   

    opengl ES 纹理如何释放?   求高手指点
    http://blog.sina.com.cn/s/blog_56fdaf150100efr3.html
      

  6.   

    基于NDK的OPENGL程序怎么解码PNG图片文件?必须去移植libpng/cximage类库吗?
    http://topic.csdn.net/u/20110414/13/0adb9d0e-7667-4a3f-a967-a1d8e875fd70.html
    Android 2.3.x下,基于OpenGL的程序多次切来切去报EGL_BAD_ALLOC错误
    http://topic.csdn.net/u/20111229/18/37f44406-ca0c-4832-9210-f74bc69ddb3d.html
      

  7.   

    linux下怎么解码png图片?用libpng库?用cximage库?这些类库都可以跨平台移植?
    http://topic.csdn.net/u/20110413/17/0105fa04-f6c6-44aa-947d-b3d234498d49.html
      

  8.   

    Ensuring OpenGL Texture Memory is Released
    http://stackoverflow.com/questions/5302798/ensuring-opengl-texture-memory-is-releasedPrevent onPause from trashing OpenGL Context
    http://stackoverflow.com/questions/2112768/prevent-onpause-from-trashing-opengl-context
    Android OpenGL textures: creating and deleting them on the fly
    http://www.google.com.hk/url?q=http://stackoverflow.com/questions/9683807/android-opengl-textures-creating-and-deleting-them-on-the-fly&sa=U&ei=NinDT_SPKq-5iAepjqW3Cg&ved=0CBsQFjAC&usg=AFQjCNEn4MQY42p3Fv_6ogZsECP3J59xnA
      

  9.   

    OpenGL ES Tutorial for Android – Part VI – Textures
    http://blog.jayway.com/2010/12/30/opengl-es-tutorial-for-android-%E2%80%93-part-vi-textures/
      

  10.   

    OpenGL ES Tutorial for Android – Part VI – Textures
    http://blog.jayway.com/2010/12/30/opengl-es-tutorial-for-android-%E2%80%93-part-vi-textures/
      

  11.   

    指向指针的指针的内存分配与释放(转)
    http://blog.chinaunix.net/uid-24347512-id-1995001.html我的程序也存在一个指向指针的指针,不知道会不会是问题所在!
      

  12.   

    给指向指针的指针分配和释放内存  
    http://xingshi5216.blog.163.com/blog/static/4603159120086189321587/
      

  13.   

    释放使用指针的指针所分配到的空间
    http://blog.sina.com.cn/s/blog_5fd9454d0100drfw.html
      delete 指针的指针(或者指针数组)  这几天碰到程序中内存被不断吞噬的问题,怎么找都没发现,后来经一个一个排除,抓出了这个内鬼,释放指针的指针的空间时,只释放了一次,以下是一个例子,说明如何解决这个问题。以指针的指针为例,指针数组的原理也一样。  假设:char **p=new char *[total*pa*sizeof(char)];       for(int i=0,i<total;i++)       {           p[i]=new int[pa];        }  .........................................以上定义了一个指针的指针p,并为他分配了空间。下面进行空间的释放。       for(int i=0,i<total;i++)       {          delete []p[i];        }         delete []p;        p=NULL;.....................................到此分配的空间完全被吐了出来(小样,看你下次还敢吃我内存)一定要记住,对于指针的指针这类空间的释放问题,不是一次释放就可以的,要与分配时相对应。呵呵,就到这了。
      

  14.   

    估计还是内存分配了没有去释放,今天在WINCE程序下也遇到这样的问题!!!对应释放就是乎内存不见什么增长了。