List<string> list=....
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清空和赋值null对内存释放的区别相关推荐

  1. 树:二叉树的内存拷贝和内存释放

    同样是利用递归思想进行拷贝和释放,大家把递归思想领悟就ok了. 二叉树的内存拷贝算法 //拷贝二叉树 前序递归拷贝 void Copy_PreOrderTraverse(BiTree* dest,Bi ...

  2. java dispose null_Java Map释放内存置null以及调用clear()的区别

    Map map = new HashMap<>(); 首先,在创建一个map对象时,map指向堆中新创建的对象,这时候的map是一个没有key和value的空对象.众所周知, map.ha ...

  3. delete指针之后应该赋值NULL

    首先,C++标准规定:delete空指针是合法的,没有副作用. 但是,delete p后,p并不会自动被置为NULL 问题来了,对一个非空指针delete后,若没有赋NULL,若再次delete的话, ...

  4. 【C 语言】指针数据类型 ( 指针类型变量 与 指针指向的内存块 概念区别 | 指针赋值 | 指针运算 | 内存赋值 | 内存取值 | 内存修改注意事项 )

    文章目录 一.指针类型变量 与 指针指向的内存块 概念区别 1.指针赋值 2.指针运算 3.内存赋值 4.内存取值 5.内存修改注意事项 一.指针类型变量 与 指针指向的内存块 概念区别 指针类型变量 ...

  5. Unity3D 内存 释放

    最转载自:http://cl314413.blog.163.com/blog/static/190507976201322713921743/ 近网友通过网站搜索Unity3D在手机及其他平台下占用内 ...

  6. JAVA内存泄漏和内存溢出的区别和联系

    内存泄漏和内存溢出的区别与解决方式_jie1175623465的博客-CSDN博客_内存泄露和内存溢出是指什么,它们有什么区别 内存泄漏(memory leak ) 内存溢出 (out of memo ...

  7. openCV内存释放问题

    转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7586847 前一天把系统整个重写了一遍,脉络清晰了很多,也终于解决了以前很多崩溃, ...

  8. python的none是什么-python中的null与none有什么区别

    Python中none与null的区别有:none可以看作是一个具体的值用来初始化变量,而null表示空不是一个值,并且没有与任何一个值绑定并且存储空间也没有存储值 Python中所有的操作都是针对对 ...

  9. 【C 语言】结构体 ( 结构体中嵌套二级指针 | 为 结构体内的二级指针成员 分配内存 | 释放 结构体内的二级指针成员 内存 )

    文章目录 一.结构体中嵌套二级指针 1.结构体中嵌套二级指针 类型声明 2.为 结构体内的二级指针成员 分配内存 3.释放 结构体内的二级指针成员 内存 二.完整代码示例 一.结构体中嵌套二级指针 1 ...

最新文章

  1. linux docker运行目录,Linux更改Docker运行根目录的方法
  2. SDNU 1103.买彩票(水题)
  3. 【译】使用Jwt身份认证保护 Asp.Net Core Web Api
  4. 一起学习C语言:初步进入编程世界(二)
  5. 题目 1885: 2017 分巧克力
  6. Codewar python训练题全记录——持续更新
  7. 自动售货机支付服务器开发,自动售货机是如何实现移动支付的?
  8. 通过代理下载Google Code
  9. 3D图库框架范围与示例
  10. ios 系统状态栏样式修改_IOS修改状态栏的字体颜色以及修改状态栏的背景颜色...
  11. 山寨手机给正规手机仅仅是冲突吗?相互学习,正规国产机就不愁翻身。
  12. TFT和STN液晶区别
  13. C#求解一元二次方程的根
  14. 浅谈大数据任务调度平台
  15. linux实用的磁盘大文件及大文件夹查找命令
  16. 手机屏幕关于VGA、QVGA、WVGA、HVGA的区别介绍(模拟器)
  17. 利用计算机实现音乐节拍的实时自动跟踪,基于自适应白化音乐节拍实时跟踪算法.doc...
  18. 无盘启动服务器,无盘启动 服务器设置教程
  19. 纳米软件之电机自动测试系统
  20. 简单到外行人都能看懂的“学生管理系统”

热门文章

  1. python矢量裁剪栅格代码_Python中使用面状矢量裁剪栅格影像,并依据Value值更改矢量属性...
  2. Python--Flask初学Demo(11.10)
  3. Python if语句Demo
  4. Linux网络协议栈:中断下半部处理
  5. 《深入浅出DPDK》读书笔记(十五):DPDK应用篇(Open vSwitch(OVS)中的DPDK性能加速)
  6. The X protocol C-language Binding (XCB) is a replacement for Xlib
  7. 基于GitHub创建自己的个人网站
  8. 怎样判断电饭锅温度传感器的好坏?_技术|怎样判断LED透明屏好坏
  9. python基础字符串(二)
  10. jsp 如何动态给图片赋值_在Excel表格中你知道如何动态引用图片吗?