c#程序中,webbrowser 加载网页很多次后内存几乎占满卡死。怎么释放资源?

c#程序中,webbrowser 加载大量网页后内存几乎占满卡死。怎么释放资源?百度查了些帖子说:这个是webbrowser的内存泄露问题,可用办法是:升级ie到8以上,还有用kernel32.dll的,试了不成功,谁有试成功的经验?

1个回答

坦率地说没有什么好办法,开两个进程,作为webbrowser的进程每次执行一次退出,开新进程再继续

majiancumt
majiancumt 谢谢!我用你的方法做
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
WebBrowser怎么释放资源?
用WebBrowser来打开网页、图片文档等,可是不知怎么释放,内存一直在增加。rn请教?
WebBrowser 加载网页
[code=vb]rn Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Clickrnrn Dim url As String, i As Integerrnrn For i = 0 To ListView1.Items.Count - 1 '循环获取ListView所有网址rn url = Me.ListView1.Items(i).Textrn WebBrowser1.Navigate(url)rnrn gethtml() '用源码中查找所需信息rn Nextrnrn End Subrn[/code]rnrn ListView 里10条网址,在程序运行的时候,第一条网址还没有打开加载完成,就开始循环到下一条,以至于无法获取到所需信息[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/50.gif][/img]rnrn 请教高手,有没有办法可以使WebBrowser控件完全加载完成后,在开始向后循环rnrn 注:如果这条网址一直打不开,程序在大于20秒后在开始循环下一条rnrn先谢谢高手了
c# WinForm webbrowser无边框程序卡死
写了一个winform webbrowser的无边框程序,打开网页时。有时候页面会出现卡死的现象(卡死的页面里主要有ajax代码),但用IE或其它浏览器浏览的时候没有该情况出现。现在不知道原因在哪,知道的帮帮忙。
vb.net中的WebBrowser无法加载网页
请教大侠:rn 我在学用vb.net中的WebBrowser,已用了命名空间Imports System.Windows.Forms但下面的程序在调试时出了问题。rn 当运行到WebBrowser1.Navigate(urlString, newWindow)这句命令时,浏览器确实运行了,但出现了附图显示的那样,网页始终处于正在加载状态,就是无法加载完毕。程序可以继续执行下一条语句(当然程序肯定得不到正确的结果),如果停止调试,网页就立即加载完毕,十分奇怪,不知是命名空间,还是程序什么地方出错了,请大侠多多指点。rn 我用编程语言是vb.net 2008, 环境是 win7, IE9rnrnPrivate Sub 访问网页() rn Dim WebBrowser1 As New WebBrowser '定义浏览器rn Dim urlString As Stringrn Dim newWindow As Boolean rn newWindow = Truern urlString = "http://www.baidu.com/"rn WebBrowser1.Navigate(urlString, newWindow) '加载百度网页时,始终处于正在加载状态。rn ......rnend subrnrn
webbrowser 卡死
一个窗口,里边有一文件框,一个按钮,一个webbrowser 控件rnrn在文本框里输入网站,点击按钮 在webbrowser 控件显示网页rnrn问题:rnrn在浏览网页时,由于网页加载的速度太慢或其它一些不知道的网页的原因,webbrowser 控件响应不了,直接卡在那边,造成整个窗口死在那了 窗口标题上显示 (无法响应)rnrnrn像这样的情况要怎么解决? 希望是即使webbrowser 控件卡了无响应了,但不要影响到整个窗口假死掉。rnrn我的很多用户反应这个问题不怎么怎么解决?用多线程来加载webbrowser 控件的网页吗?
读取EXCEL后怎么释放资源?
我用DATASET读取完一个EXCEL文件后,再去打开那个EXCEL文件,提示被锁定了,过很长时间才能打开,我想应该是资源没释放,请问怎么释放啊???
C# Chart控件使用后怎么释放资源
项目中用了Chart控件显示折线图,折线图一般5s刷新一次(用的Timer实现的刷新,每次刷新其实都是重新绑定下Chart),发现每次刷新都会多占用70~100M内存,刷新一分钟占内存就快1G了,这样问题就比较严重了。怎么让每次刷新时先释放资源。或者不让Chart占用太多资源?
WebBrowser 如何释放资源
WebBrowser 控件放在一个Dialog里面,当我使用WebBrowser(MFC)访问网页后,删掉这个Dialog,但是WebBrowser 使用的资源,如内存, Handles, GDIObject都没有释放,我试过使用IWebBrowser->Stop(); IWebBrowser->Quit也不行rn这个对话框是在一个DLL里面的,我使用完后调用FreeLibrary也不行rn有些网站是可以的,但是有些网站就不行(如hotmail)。rn请问各位有什么办法呢?rn
webbrowser加载网页的时候闪白屏怎么解决
在使用webbrowser这个加载网页的时候,在页面来回跳转时,出现白屏一闪一闪用户体现很是不好,请问问这个问题有没有办法解决啊,在线等。。。。。。
怎么解决WebBrowser加载网页的卡顿问题?
WebBrowser1.Navigate(JsGetAppPath+'1.html')rnrn用上面方法加载代码,感觉exe有明显卡顿现象,要怎么样才能解决这个问题呢
Redhat7.2 MySQL5.7.18内存占满,重启后3-5天又占满
mysql版本是5.7.18 物理机 128G内存,就只装了个mysql 过3-5天后内存就占满了,占满后会占Swap区。rnrnrn如果解决问题,可以追加分数。
Centos6.5 内存占满 释放内存
释放内存
Centos 内存占满 释放内存
一台老的PHP后台服务器,今天用 free -m 查看,发现内存跑满了。 再 top,然后按下shift+m,也就是按内存占用百分比排序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一下,据说是centos为了提高效率,把部分使用过的文件缓存到了内存里。如果是这样的话,我又不需要这样的文件性能,那就可以释放。如下两个命令就可以: #sync #echo 3 > /pr...
C#程序卡死
各位高手,你们好,我用C#开发了一个上位机界面,里面用到了一个定时器用来记录程序执行的时间,每隔一秒执行一次,并显示在界面中,这个定时程序一直进行,还有一个功能是通过串口不断向下位机发送和接收数据,在程序运行时,出现这样一个问题,当我发送数据结束后,有一个Thread.Sleep(时间)的停留,这个时候我会发现程序界面好像卡死了一样的情况出现,定时器也不工作了,不能实时显示运行时间,只有停留时间结束,界面又活过来了,请问这是什么情况,是不Thread.Sleep(时间)的停留这个工作让定时器也暂停工作了吗,还是别的原因,请问这种情况该如何解决,谢谢。
VB6 获得WebBrowser加载网页中,点击的元素
在.NET中能够很容易实现rn[code=C#]rnprivate void Document_Click(Object sender, HtmlElementEventArgs e)rn rn if (wB.Document != null)rn rn HtmlElement elem = wB.Document.GetElementFromPoint(e.MousePosition);rn textBox1.Text = elem.InnerHtml;rn rn rn[/code]rn但是,进过一下午努力,在VB6.0中始终找不到办法~~rnrn再把问题说一遍:rn鼠标点击网页时,返回 [color=#FF0000]鼠标点击的网页元素 [/color]rn
C# winform 中使用webbrowser加载网页 通过按钮模拟键盘输入
用C#做winform程序 rnwinform中使用webbrowser来加载网页rn在winform中添加按钮模拟键盘输入rn现在的问题是当光标在网页的输入框中的时候点击模拟的键盘按钮后焦点就不再网页的输入框了,因此也不能把想要的字符输入到网页输入框中,哪位大神帮帮忙?
VS2010 c# 一添加webbrowser就卡死
查了一下有人也这样,说是和PDF冲突,但是就查不到咋解决啊。各位大牛有人知道咋办吗
C++ webBrowser卡死的检测
可能各种情况到时webbrowser未响应、假死、卡死,连同主窗口一起卡死,有什么办法能检测到webbrowser卡了?然后结束掉webbrowser或者其他方法让它不影响主窗口?江湖救急,在线等结贴
webBrowser卡死问题
环境 VS2005 C# winform IE8 windowsXPrnrnwebBrowser有时在加载网页时会卡住(一直持续,直到任务管理器里强制结束它),其特点是:rnrn1 CPU占用率为0。rnrn2 对于CPU高用率的卡死,其特点是界面失去响应,不仅按钮啥的无法操作,界面都不能刷新了,切换下程序会变成空白,完全的卡死。但webBrowser造成的卡死,虽然界面上按钮不能操作,但界面本身还存在绘制操作。不会在程序切换后变成空白。rnrn求原因,求解除卡死的办法。
怎样判断WebBrowser加载网页完成
如我现在打开rnrnrnPrivate Sub Command2_Click()rnrnWebBrowser1.Navigate "http://www.baidu.com/"rnrn?rna=3+2rnmogbox arnEnd Subrn如果某个网页有很多图片,加载完成要很慢,判断整个网页是否加载完成,才弹出mogbox,该怎么写,现在是不管加载完成没完成他都直接弹出rn
webbrowser加载网页调整显示大小
w =Web1.Width*100/Val(qr.Web1.Document.FileSize)rn h=Web1.Height*100/Val(qr.Web1.Document.FileSize)rnif w>hrni=hrnelserni=wrnendifrnWeb1.Document.body.Style.Zoom =irn这段代码放在哪里?rn请问还有好办法吗?谢谢
虚拟机内存占满问题
虚拟机内存空间被占满,操作系统进不去,如下图 解决方法: 1.windows+F2键 2.进入 命令行界面,输入账号、密码 3.df查看内存占用情况,删除占用内存大的文件。想要更详细的删除,用du命令。 4.删除后reboot。 重启后就可进入操作系统。
c# 使用openfiledialog控件多次打开图片程序卡死
在winform上放置一个openfiledialog控件,打开两张图片,然和运行程序的主要功能。第一次可以很好的运行,程序运行完后我再选择打开图片,程序出现卡死现象。[img=C:\Documents and Settings\Administrator\My Documents\My Pictures\11.png][/img]程序运行现象如上图,分别打开两张图片后单击开始比对,运行完后再次选择图片就卡死了,什么原因,请高手指教!
C#程序释放资源的问题?谢谢!
一个检测用户名是否存在的函数,代码大致如下:rn protected bool NameTest(string name)rn rn SqlConnection conn = ……;//连接rn SqlCommand cmd = ……;//command命令实例rn cmd.CommandType = ……;//类型为存储过程rn SqlParameter p = ……;//参数rn cmd.Parameters.Add(p);//添加参数rn conn.Open();rn int count = Convert.ToInt32(cmd.ExecuteScalar());//返回记录数rn if (count > 0)rn rn return true;rn rn elsern rn return false;rn rn conn.Close();rn //获取记录数后释放资源 rn cmd.Dispose();rn conn.Dispose();rn rn rn 提交注册,代码大致如下:rn protected void Button1_Click(object sender, EventArgs e)rn rn //代码略,在此代码块中,因为有需要,示情况会调用NameTest()函数2至3次rn rnrn 我对程序运行原理懂得很少,请问在NameTest()函数代码块中,要不要给cmd和conn两个对象释放资源,我想如果该函数只rn被调用一次的话,理所当然要释放,但实际应用中,仅仅提交注册这个动作瞬间就要调用2-3次,这种情况,是不是不释放更好,rn因为释放资源又重新分配,如此反复几次反而更浪费时间和资源,对吗?rn但这只是我在想像中的猜测,还望高手们给个明确的解释,谢谢!祝新年快乐!
webbrowser加载网页中的图片怎么另存到本地?
webbrowser加载网页中的图片怎么保存到本地?rnrnrn下面的代码不行rn HtmlElementCollection hecn1 = webBrowser1.Document.Images;rn hecn1[0].Document.ExecCommand("Copy", false, null);rn Image ig = Clipboard.GetImage();rn ig.Save(@"d:\1.jpg");
mysql数据库内存占满
SHOW FULL PROCESSLIST; KILL 35154; KILL 35249; KILL 35293; KILL 35310; KILL 35314; KILL 35703;
服务器内存会被占满
服务器是win2003系统 sp1 和各种安全更新都装完了。rn几天前发现会不定时的出现服务器内存被占满,试过在在服务器内存不继上涨时把网站的默认端口改了。内存占用马上就降了下了,查看访火墙记录发现有IP在疯狂的连80端口,是盗链呢还是攻击?如果查找问题出在哪里?
C#中如何关闭窗体?从内存中释放资源.
窗口打开多了,程序占用内存很大,在关闭窗体时用下面的办法:rnrn private void Form1_FormClosed(object sender, FormClosedEventArgs e)rn rn this.Dispose();rn this.Close();rnrn可是发现内存资源并没有释放掉,该怎么做呢?rn本人是c#新手,请指教.
前台内存占满
前台内存占满时抓取的javacore内容,请高手人分析内存占满的原因:rnrn2012-09-21 09:49:58rnFull thread dump Java HotSpot(TM) Server VM (14.2-b01 mixed mode):rnrn"[STANDBY] ExecuteThread: '24' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x03032c00 nid=0x8e sleeping[0x2387f000]rn java.lang.Thread.State: TIMED_WAITING (sleeping)rn at java.lang.Thread.sleep(Native Method)rn at weblogic.cluster.MulticastFragmentSocket.sendThrottled(MulticastFragmentSocket.java:171)rn at weblogic.cluster.MulticastFragmentSocket.send(MulticastFragmentSocket.java:130)rn - locked <0x3ca2c288> (a weblogic.cluster.MulticastFragmentSocket)rn at weblogic.cluster.FragmentSocketWrapper.send(FragmentSocketWrapper.java:91)rn at weblogic.cluster.MulticastSender.fragmentAndSend(MulticastSender.java:395)rn at weblogic.cluster.MulticastSender.send(MulticastSender.java:178)rn - locked <0x3cabeb80> (a weblogic.cluster.MulticastSender)rn at weblogic.cluster.MulticastManager.timerExpired(MulticastManager.java:756)rn at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)rn at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)rn at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)rn at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)rnrn"[ACTIVE] ExecuteThread: '23' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x03032400 nid=0x8d runnable [0x2397e000]rn java.lang.Thread.State: RUNNABLErn at sun.reflect.GeneratedMethodAccessor735.invoke(Unknown Source)rn at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)rn at java.lang.reflect.Method.invoke(Method.java:597)rn at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)rn at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)rn at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:937)rn at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:76)rn at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:132)rn at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1629)rn at ognl.ASTProperty.setValueBody(ASTProperty.java:110)rn at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)rn at ognl.SimpleNode.setValue(SimpleNode.java:246)rn at ognl.Ognl.setValue(Ognl.java:476)rn at org.apache.tapestry.util.prop.OgnlUtils.set(OgnlUtils.java:101)rn at org.apache.tapestry.util.prop.OgnlUtils.set(OgnlUtils.java:84)rn at org.apache.tapestry.record.PageRecorder.rollback(PageRecorder.java:201)rn at org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:209)rn at org.apache.tapestry.engine.PageService.service(PageService.java:73)rn at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:890)rn at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:200)rn at com.linkage.webframework.tapestry.PageServlet.doService(PageServlet.java:170)rn at com.linkage.webframework.tapestry.PageServlet.doGet(PageServlet.java:163)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)rn at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)rn at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)rn at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)rn at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)rn at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)rn at org.apache.tapestry.RedirectFilter.doFilter(RedirectFilter.java:106)rn at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)rn at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)rn at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)rn at weblogic.security.service.SecurityManager.runAs(Unknown Source)rn at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)rn at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)rn at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)rn at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)rn at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)rnrn"[STANDBY] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x0302d800 nid=0x8c in Object.wait() [0x23a7f000]rn java.lang.Thread.State: WAITING (on object monitor)rn at java.lang.Object.wait(Native Method)rn at java.lang.Object.wait(Object.java:485)rn at weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)rn - locked <0xcca49d38> (a weblogic.work.ExecuteThread)rn at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)rnrn"[STANDBY] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x02f53400 nid=0x8b waiting on condition [0x23b7f000]rn java.lang.Thread.State: RUNNABLErn at sun.management.ThreadImpl.findMonitorDeadlockedThreads0(Native Method)rn at sun.management.ThreadImpl.findMonitorDeadlockedThreads(ThreadImpl.java:295)rn at weblogic.platform.VM15.dumpDeadlockedThreads(VM15.java:75)rn at weblogic.platform.VM.dumpDeadlockedThreads(VM.java:136)rn at weblogic.t3.srvr.CoreHealthService$ThreadMonitoringTimer.checkDeadlockedThreads(CoreHealthService.java:196)rn at weblogic.t3.srvr.CoreHealthService$ThreadMonitoringTimer.access$200(CoreHealthService.java:160)rn at weblogic.t3.srvr.CoreHealthService$ThreadMonitoringTimer$1.run(CoreHealthService.java:184)rn at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)rn at weblogic.security.service.SecurityManager.runAs(Unknown Source)rn at weblogic.t3.srvr.CoreHealthService$ThreadMonitoringTimer.timerExpired(CoreHealthService.java:181)rn at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)rn at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)rn at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)rn at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
webbrowser 打开网页多次后出错。
比如打开百度搜索1000-1 但打开多次后m_browser1->Navigate(link,NULL,NULL,NULL,NULL);rn出现错误 错误提示:rn windows已经在text.exe中触发一个断点rn 其原因可能是堆被损坏,这说明test.exe中或它所加载的任何DLL中有Bug.rn 原因民可能是用户在 test.exe具有焦点时按下了F12。rn[code=C/C++] CString sss;rn while(i--)rn rn link.Format ("%d",i);rn link = "http://www.baidu.com/s?wd=" + link;rn m_browser1->Navigate(link,NULL,NULL,NULL,NULL); rnWaitForSingleObject(g_hEvent,INFINITE);rnrn sss.Format ("%d",i);rn wnd->SetDlgItemText(IDC_EDIT2,sss); rn [/code]rnrn这个错误我看了很多次都是在执行m_browser1->Navigate出错的,m_browser1 是一个CExplorer1指针,指向webbrowser控件。之前没有做过其它什么事,打开的这段是在一个新建的线程中运行的。
C#怎么减少程序内存?
.NET应用程序由于需要加载CLR及一些通用类库,并且具有垃圾收集机制,较其他本地语言如C,C++具有较大的footprint,使用.NET创建一个简单的Winform可能就会占用近10M的内存,所以随着开发的进行,内存占用会比较大,请问有没有什么比较好的办法减少内存的使用?
C#写的程序是不是很占内存?
才开始学习C#,勉强写了一个记事本的小程序,功能还没有windows本身带的那个多,但发现运行起来后,这个小程序占用了很多内存,再运行windows那个,简直差的太多了,各位高手有没有注意到这个问题,是怎么一回事?rn谢谢!rn我写的程序内存使用:12,176K,虚拟内存:12,392Krn而windows本身的:3,800K,虚拟内存:1,608K
调用insertitem后程序卡死
编译程序能正常,但是运行到这段代码的时候会卡住,停在循环中不执行。rn这是对话框的初始化部分rn[code=c]////////客户端////////////////////rnfor(int j=0;j<2;j++)rn rn int i=0;rn theApp.m_pClientSock->Receive(buff,4096);rn CString p(buff);rn CString Menu(buff);rn theApp.m_pClientSock->Receive(buff,4096);rn CString Price(buff);rn m_CaidanList.InsertItem(j,Menu);rn i++;rn rn/*现在这里的j是<2的,能正常显示继续执行,如果j改成<3就不行,我最终希望能用while判断rn包括服务端。有的时候,同样的代码,上一次能显示正常,下一次就显示不正常了,很是疑惑。*/rn//////////////////////////////////////rn//这是客户端rnm_pRs=m_pAdoConnect->Execute((_bstr_t)Temp.Message,NULL,adCmdText);rn for(int j=0;j<4;j++)rn rn CString Menu;rn Menu=m_pRs->GetCollect(_T("Catalogue"));rn pSevSoc->Send(Menu,Menu.GetLength()+100);rn CString Price;rn Price=m_pRs->GetCollect(_T("Price"));rn pSevSoc->Send(Price,Price.GetLength()+100);rn m_pRs->MoveNext();rn [/code]
WebDev.WebServer.EXE程序一直在占用内存直到内存占满报错
我们网站和其他网站合作,对方提供了一个接口给我们由于接口只有数据。分页,搜索什么都不能做所以只能利用这个接口把数据导入到我们数据库中可是导入程序做好后在测试的时候这个WebDev.WebServer.EXE程序一直在占用内存直到内存占满报错.查了很长时间都不知道什么原因?请问有哪位大哥碰到过类似的情况帮助下小弟谢谢!
c#窗体无响应,程序卡死
用作业调度的方法来进行多个文件同时下载,文件移动,个别文件下载时会导致窗体无响应,而且程序也没反应了。求大神来指导一下
c#做的程序卡死问题
用循环随机生成数,当数量大于10000时就会卡住没反应,怎样解决?
C#播放声音程序总是卡死
[size=18px]要求雷达探测到目标后,播放报警声音(WMV格式,很短),雷达探测目标的周期很短,有时候一秒钟可以探测到二十几个目标,每探测到一个目标都会播放报警声音,播放声音用线程处理;rn现在的问题是雷达探测的几十个目标后程序就崩溃,按说我用的独立线程,不应该这样,求解,谢谢![/size]rnrnrn private Thread playsound; //播放声音的线程rnrn//------------------------------------主程序----------------------------------------------------------rn while(true)rn rn ……rn 检测到目标;rn showAlarm();rn rn//----------------------------------------------------------------------------------------------rn private void showAlarm() //启动线程rn rn playsound = new Thread(new ThreadStart(PlaySound));rn playsound.Start();rn rnrn private void PlaySound() //播放声音方法rn rn string path = "warning.wav";rn System.Media.SoundPlayer player = new System.Media.SoundPlayer(path);rn player.Play();rn
动态创建tablesheet和Webbrowser后如何关闭并释放资源
在PageControl中,动态创建了tablesheet,同时在tablesheet上动态创建了Webbrowser,完成工作后双击关闭tablesheet。但此时动态创建的Webbrowser好像并没有同时被释放,从任务管理器中看占用的资源并没有释放。请问该如何写才能释放掉?或者说,能不能在关闭tablesheet的时候,同时释放掉上面的Webbrowser?rnrn创建代码如下:rnrnprocedure Tfrm_main.NewWeb(url,id:string);rnbeginrntryrn s:=TTabsheet.Create(self);rn s.PageControl:=Pagecontrol1;rn s.Caption:='第 '+id+' 个';rn p:=TPanel.Create(self);rn p.Parent:=Pagecontrol1.Pages[s.PageIndex];rn p.Align:=alclient;rn w:=TWebbrowser.Create(self);rn tryrn w.OnStatusTextChange:= mywebshow;rn Twincontrol(w).Parent:=self.PageControl1.Pages[s.PageIndex];rn Twincontrol(w).Align:=alclient;rn w.Navigate(url);rnrnrn finallyrn // s.Free;rn // p.Free;rn // w.free;rn //如果直接在这里释放w,则这个procedure工作就不正常rn end;rnexceptrnrnend;rnend;rnrnrnrn双击关闭的代码:rnrnprocedure Tfrm_main.PageControl1MouseDown(Sender: TObject;rn Button: TMouseButton; Shift: TShiftState; X, Y: Integer);rnbeginrn if Assigned(TPageControl(Sender).ActivePage) and (ssDouble in Shift) and (Button=mbLeft) thenrn TPageControl(Sender).ActivePage.Free;rnend;
关于一个占满内存的问题
[code=C/C++]#include rnint main()rnrnwhile(1)rnrn char *p=new char[100000];rnrnreturn 0;rn[/code]rn这个我运行了,怎么好像没什么事一样,和预想不一样,预想的是死机了,还害我迟迟不敢运行呢- -rn为什么呢?
vs2010 调试 内存占满 的困惑
我笔记本 内存 4G的 cup 2.0 系统 win7 32rnrnrn用 vs2010开发 调试的时候 在项目重新生成 时 rnrn进程 里多了一个 vbc.exe 内存一下子占了大半 我的项目不大 个人测试案例而已rnrn[img=https://img-bbs.csdn.net/upload/201305/22/1369215584_749144.jpg][/img]rnrnrnrn当 vs 重新生成成功后 该进程 消失rnrnrn为什么 在项目重新生成期间 会有这么一个 庞大的进程呢??rn
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数