,,最近用VFW包开发了一个视频采集程序,,可是运行的时候内存使用数不断的上升  
请问,,各位,有没有谁做过这方面的开发,我用的是C#开发的,

解决方案 »

  1.   

    lz:前段时间,我也开发了一个数据采集的程序,也遇到过你这种现象,我把解决的办法给你分享一下,希望对你有用:1、数据缓冲区定义成类的全局性变量,不要定义在定时器或线程里,否则,会不断new一些新的内存,net释放空间并不是函数执行完毕就释放,所以你的空间占用会越来愈多。
    2、定时强制内存释放。(大概3~5分钟)
      int gen = GC.GetGeneration(this);
      GC.Collect(gen);        //启动对当前代的垃圾回收
      关于GC,MSDN有详细解释,你可仔细看看。
      

  2.   

    我看了很多相关的资料,
    说,,.net不会释放非托管对象,,所以,你有没有释放 VIDEOHDR 结构,和相关的非托管对象, ,
      

  3.   

    sdl2005lyx(),,,还在不,,能不能把你那点关键代码 ,分享一下,,我照你说的做了,可是还不得行,, ,,,也还是30K的速度上升,,,,和没有改的一样,,,不知道怎么会事,
      

  4.   

    lz:你把数据发送和接收的代码发给我看看:[email protected]或csdn的短信。
      

  5.   

    谢谢 ,,你,
    我们能否一起讨论,,有关VFW视频开发的问题,,
    我的QQ:182392554,,,