相关文章推荐
小胡子的煎饼  ·  Math.Abs メソッド ...·  1 年前    · 
好帅的咖啡  ·  java mongodb ...·  1 年前    · 
list . Clear(); list = null ;

一般看法:list=null;能更快的释放内存,
list.Clear();只是清空了内容 在内存上它还是占有空间,而=null 就是不占用内存空间

大佬看法:=null还没有立刻把内存清掉,要调用GC.Collect();才会清掉内存,
Clear方法和=null差不多,也不会马上把内存清掉,直到GC.Collect()调用为止(如果你不调用的话系统会在适当的时机调用)。不过调用list.Clear();会减轻GC.Collect方法的负担,使其能更快完成清除内存的工作

不用了,就设置为null,如果还要new一个使用,那不如Clear了继续用得好。因此单独比较内存释放是没有意义的,要看具体场合用具体的功能。
另外在局部变量时,离开作用域自动释放,相当于赋值null,因此一般很少有人会特意使用这个null的。

所以如果元素很多,做法通常是这样的:
list.Clear();
list=null;
GC.Collect();
但GC.Collect();通常会消耗很多时间,所以如果数组元素不多的情况没必要直接调用GC.Collect,让系统在它感到不适的时候自动调用GC.Collect为好。

List<string> list=....list.Clear();list=null;一般看法:list=null;能更快的释放内存, list.Clear();只是清空了内容 在内存上它还是占有空间,而=null 就是不占用内存空间大佬看法:=null还没有立刻把内存清掉,要调用GC.Collect();才会清掉内存, Clear方法和=null差不多,也不会马上...
之前想 集合的元素,直接调用api clear()函数,突然想如果clear后只是把元素删除了,而没有 释放 内存 地址 间,因为Array List 是动态的分配 内存 ,以后越来越多,会不会导致 内存 溢出。查看clear()函数源码: /** * Removes all of the elements from this list . The list will * be empty a...
eclipse报错:An error has occurred. See error log for more details. java.lang.NullPointerException 锤子数码科技有钱公司.: 为什么要关闭 python 数据库的中文乱码问题 王球球啊: 带中文sql查询结果不准确 python 数据库的中文乱码问题 感谢,好用