我有个问题:
比如说我的对象A A的一个属性是Byte[]数组。现在有一个List<A> list 。我list.clear()完了之后list里边的每个A对象的Byte[]数组属性占用的内存是否释放掉了!请各位大侠指点一下小的!

解决方案 »

  1.   

    使用clear()方法后只是清除了List的元素Dispose(),用来释放非托管资源。调用 Dispose() 后,不应该再访问这个对象,尽管你可以这么做。Dispose() 没有清除表里面数据的功能另外,调用完dispose()后,对象状态已经无法确定。。由GC来决定什么时候杀死他。
    千万不要再访问它。否则程序随时都会崩溃。 
      

  2.   

    你在其他地方如果有对byte[] 的引用的话 一般不会   如果没有  GC定时会清理的 当然 你不需要知道这些
      

  3.   

    除非占用系统资源(例如IO资源,数据库连接等)的地方需要手动释放,其他的都应该交由GC来处理。
      

  4.   

    你要确保没有对象指向 list所指向的内存地址,
    及  newlist  = list; 
    这样交给GC 即可。