[VB.NET]救命,mStream.Write()执行完后,内存不能释放.急呀.

作者在使用VB.NET进行编程时遇到了内存无法释放的问题。具体是在一个按钮点击事件中,通过循环将数据写入MemoryStream对象,但在循环结束后即使调用了Close()和Dispose()方法,并尝试了垃圾回收,内存占用依然没有减少。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VB.NET源码-156个实用实例哦…… <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
救命,mStream.Write()执行完后,内存不能释放.急呀.
下面是贴的函数,目的就是想拷贝一些数据到MemoryStream中,
执行完For循环后,内存增加了几百M. 但无论如何也释放不了. 除非关闭程序.
请教有没有人知道程序的毛病是出在哪里呀?! 在线等,解决完立刻给分!
谢谢呀!

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mStream As MemoryStream
Dim nData As Integer = 40960
Dim iPtr As Integer
Dim PACKET_SIZE As Int16 = 4096
Dim readBuffer(PACKET_SIZE) As Byte

For iPtr = 0 To PACKET_SIZE - 1
readBuffer(iPtr) = 255
Next

mStream = New MemoryStream
While nData > 0
mStream.Write(readBuffer, 0, PACKET_SIZE)
nData -= 1
End While

mStream.Close()
mStream.Dispose()
End Sub
__________________________________________________________________________
帮顶的也有分.不够再加!
急.
__________________________________________________________________________
又见VB 帮顶接分!
__________________________________________________________________________
UP UP UP 抬起头
__________________________________________________________________________
up
__________________________________________________________________________
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mStream As System.IO.MemoryStream
Dim nData As Integer = 40960
Dim iPtr As Integer
Dim PACKET_SIZE As Int16 = 4096
Dim readBuffer(PACKET_SIZE) As Byte

For iPtr = 0 To PACKET_SIZE - 1
readBuffer(iPtr) = 255
Next

mStream = New System.IO.MemoryStream
While nData > 0
mStream.Write(readBuffer, 0, PACKET_SIZE - 1)
nData -= 1
End While

''mStream.Flush()
mStream.SetLength(0)
mStream.Close()
mStream = Nothing

''强调进行垃圾回收
GC.Collect()
End Sub

对你的代码进行了点改动:
1.mStream.Write(readBuffer, 0, PACKET_SIZE - 1)
2. GC.Collect()
__________________________________________________________________________
结帐,谢谢楼上的几位朋友!
__________________________________________________________________________
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值