c# 防止内存泄露 内存溢出 之using的用法
2016-10-28 00:12
1281 查看
为什么要用using 自动释放资源 标记为回收
using的作用 无聊你是否出错 执行完里面的代码时候 会自动执行Dispose();回收内存
EG:我打开的数据库的链接 但是 执行语句中出错了 没有执行到 Dispose();的语句 就报错了 但是你程序没有关 现在的问题就是你的链接打开了 没有关 系统无法回收资源 so 造成了内存泄露
using的实现
:只要你的类继承了 IDisposable() 类 推荐使用using eg: panel pen, 读取文件啊 等等
//
// 摘要:
// 定义一种释放分配的资源的方法。
[ComVisible(true)]
public interface IDisposable
{
//
// 摘要:
// 执行与释放或重置非托管资源相关的应用程序定义的任务。
void Dispose();
}
例子
打开文件的操作使用using,无聊里面代码是否报错
只要执行完
就会被标记为垃圾
using (OpenFileDialog openfile = new OpenFileDialog())
{
openfile.Filter = "jpg jpeg图像文件|*.jpg;*.jpeg|Png图像文件(*.png)" + "| *.png |所有文件(*.*)|*.*";
if (openfile.ShowDialog() == DialogResult.OK && (openFileDialog1.FileName != ""))
{
using (FileStream fs = new FileStream(openfile.FileName, FileMode.Open, FileAccess.Read))
{
image = Image.FromStream(fs);
}
}
}
using的作用 无聊你是否出错 执行完里面的代码时候 会自动执行Dispose();回收内存
EG:我打开的数据库的链接 但是 执行语句中出错了 没有执行到 Dispose();的语句 就报错了 但是你程序没有关 现在的问题就是你的链接打开了 没有关 系统无法回收资源 so 造成了内存泄露
using的实现
:只要你的类继承了 IDisposable() 类 推荐使用using eg: panel pen, 读取文件啊 等等
//
// 摘要:
// 定义一种释放分配的资源的方法。
[ComVisible(true)]
public interface IDisposable
{
//
// 摘要:
// 执行与释放或重置非托管资源相关的应用程序定义的任务。
void Dispose();
}
例子
打开文件的操作使用using,无聊里面代码是否报错
只要执行完
就会被标记为垃圾
using (OpenFileDialog openfile = new OpenFileDialog())
{
openfile.Filter = "jpg jpeg图像文件|*.jpg;*.jpeg|Png图像文件(*.png)" + "| *.png |所有文件(*.*)|*.*";
if (openfile.ShowDialog() == DialogResult.OK && (openFileDialog1.FileName != ""))
{
using (FileStream fs = new FileStream(openfile.FileName, FileMode.Open, FileAccess.Read))
{
image = Image.FromStream(fs);
}
}
}
相关文章推荐
- C#将接受到的流写入文件的回调函数------一个防止内存溢出的方法
- C#防止内存泄露的方法
- android中handler使用WeakReference防止内存泄露
- c++和java的内存管理,分别是怎么实现的,怎么防止内存泄露?
- windows GDI调色板是否存在内存泄露 之鉴 free函数用法
- c#中using的用法
- c# using语句的用法
- C# Using 用法
- java怎样防止内存溢出
- 九、Android学习笔记_ Android开发中使用软引用和弱引用防止内存溢出
- C#中using的几种用法
- Andorid 内存溢出与内存泄露,几种常见导致内存泄露的写法
- 【转载】C#中Using 的几种用法
- C# Using用法三则
- byte转化为Bitmap,防止内存溢出
- Java编程:内存泄露与内存溢出的区别
- Android防止内存溢出浅析
- C#中using的三种用法
- 牛客网Java刷题知识点之内存溢出和内存泄漏的概念、区别、内存泄露产生原因、内存溢出产生原因、内存泄露解决方案、内存溢出解决方案
- Android防止内存溢出浅析