.Net内存释放问题
我有个问题:
比如说我的对象A A的一个属性是Byte[]数组。现在有一个List<A> list 。我list.clear()完了之后list里边的每个A对象的Byte[]数组属性占用的内存是否释放掉了!请各位大侠指点一下小的!
[解决办法]
使用clear()方法后只是清除了List的元素
Dispose(),用来释放非托管资源。
调用 Dispose() 后,不应该再访问这个对象,尽管你可以这么做。
Dispose() 没有清除表里面数据的功能
另外,调用完dispose()后,对象状态已经无法确定。。由GC来决定什么时候杀死他。
千万不要再访问它。否则程序随时都会崩溃。
[解决办法]
只要你是托管数据,就交给GC吧,不必考虑这些问题。
[解决办法]
[解决办法]
一般由GC自动回收。
[解决办法]
GC会自动回收,一般情况下你不用考虑这个。
[解决办法]
你在其他地方如果有对byte[] 的引用的话 一般不会 如果没有 GC定时会清理的 当然 你不需要知道这些
[解决办法]
除非占用系统资源(例如IO资源,数据库连接等)的地方需要手动释放,其他的都应该交由GC来处理。
[解决办法]