读书人

关于Dispose方法的有关问题待

发布时间: 2012-02-15 12:09:44 作者: rapoo

关于Dispose方法的问题,在线等待
windows media player 10 sdk中有个c#使用windows media player com组件的范例。程序功能大致是将一个media player组件放置在一个Form中,可以做一些简单的操作,如播放,停止等。

大致代码如下:

一个成员变量
private AxWMPLib.AxWindowsMediaPlayer Player;

它在这里初始化
public Form1()
{
InitializeComponent();
Player.URL = "mms://nc.sina.com.cn/ent/200401061.wmv ";
}

private void InitializeComponent()
{
...
this.Player = new AxWMPLib.AxWindowsMediaPlayer();
}
如上,我指定Player的URL为一个流媒体文件,以便窗体显示后播放。

这是dispose方法
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

现在的问题是base.Dispose( disposing );这句语句会执行很久,大概7-8秒钟的样子,这造成了窗口关闭时应用程序当了的假象。
有谁知道为什么会这句语句需要这么长时间执行。是不是由于用到了com组件的原因?会不会有内存泄漏?怎么解决这个问题?


[解决办法]
up
[解决办法]
不清楚
:)
[解决办法]
这要去看专门讲垃圾清理的书了

读书人网 >C#

热点推荐