重定义数组 内存释放问题

vickjiang 2009-01-12 04:50:49
也许我这个还不叫 重定义 一直都很疑惑

我有一“全局”数组 private byte[] cmdStr;

我在一个事件中: cmdStr = new byte[8];

在另一事件中: cmdStr = new byte[10];

...

请问各位,我在第二个事件发生后, 之前的(长度为8的)cmdStr还占用内存吗?

如果还占用的话,这样的事件很多,希望大家给点建议

补充:这个必须是比较“全局”点的 我在其他地方要用到这个数组
...全文
292 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vickjiang 2009-01-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 rufidmx 的回复:]
LS说的很好。GC会帮助清除上面的那个。为什么要不停的改变大小?不是很浪费效率吗?
[/Quote]

因为要根据不同的事件发送不同数组,最终处理函数我又想统一写

谢谢各位帮忙!这下我就放心多了
wuyi8808 2009-01-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 vickjiang 的帖子:]

在第二个事件发生后, 之前的(长度为8的)cmdStr还占用内存吗?
[/Quote]

GC会在适当的时候帮你把没有引用的内存释放。
rufidmx 2009-01-12
  • 打赏
  • 举报
回复
LS说的很好。GC会帮助清除上面的那个。为什么要不停的改变大小?不是很浪费效率吗?
优途科技 2009-01-12
  • 打赏
  • 举报
回复
会重新分配内存空间。之前的会自动释放。
就像private int i;

我在一个事件中: i= 1;

在另一事件中: i= 2;

原理一样!
bobocici 2009-01-12
  • 打赏
  • 举报
回复
gc会帮你处理这个问题的
diffmaker 2009-01-12
  • 打赏
  • 举报
回复
new 之后,前面的应该没有了吧

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧