如何释放对对象的引用

每一个对象都使用内存空间和系统资源,每次不再使用一个对象的时候,都应该养成释放资源的习惯。
(1)从内存中卸载一个窗体和控件
使用close陈述,语法如下:
Form1.Close()
或者
ActiveForm.Close()
关联窗体的父窗体关闭以后,它就会自动关闭。
(2)释放对象变量使用的资源
可以给一个对象变量赋值为Nothing,语法如下:
MyObject=Nothing
(3)释放一个被使用的对象
如果要释放一个被类使用的对象,只需在类的析构过程里面,把这些对象赋值为Nothing就可以了。
注意:.Net框架使用一个名为reference tracing garbage collection的系统调用过程来定期释放那些没有用的资源。所以,把一个对象设置为Nothing,只是确认系统的垃圾收集器可以把这个对象使用的空间释放掉,并不是真正地释放掉这个对象所使用的资源。垃圾的收集是自动的,它不可能知道什么时候一个对象需要被系统释放资源,所以重要的是要把一个没有用的对象设置为Nothing,这样的话,垃圾收集器就可以定期把这些对象清空了。

时间: 2024-10-27 22:10:02

如何释放对对象的引用的相关文章

PHP对象相互引用的内存溢出

使用脚本语言最大的好处之一就是可利用其拥有的自动垃圾回收机制(释放内存).你不需要在使用完变量后做任何释放内存的处理,PHP会帮你完成. 当然,我们可以按自己的意愿调用 unset() 函数来释放内存,但通常不需要这么做. 不过在PHP里,至少有一种情况内存不会得到自动释放,即便是手动调用 unset().详情可考:http://bugs.php.net/bug.php?id=33595. 问题症状 如果两个对象之间存在着相互引用的关系,如"父对象-子对象",对父对象调用 unset(

c#无法访问已释放的对象异常

问题描述 小弟我用c#做kinect开发,最近在写一个提取深度信息的程序,但是总是得不出想要的结果,要么是出现异常,要么就是得到的结果全都一样.我为这个问题苦恼了很久了就是想不到好的解决方法.namespacekincet_rec{///<summary>///MainWindow.xaml的交互逻辑///</summary>publicpartialclassMainWindow:Window{privateKinectSensor_kinect;privatebyte[]col

对Java的面对对象编程中对象和引用以及内部类的理解_java

最近利用下班的时候看了看的think in java感觉再看 和第一次看大不一样 接下来说一下java中对象和引用的关系,以及内部类的概念.1.java中一切都是对象 在java中是什么来操作者对象呢?答案是引用,这就好比C或者C++中的指针. 如果用拥有一个引用,那么此时你必须让其和一个对象关联在一起,否则这个引用并不会像你想象的那样任由你的控制,例如你创建了一个String的引用: String s ; 而此时并未与任何对象关联,如果此时你去做一些操作,如调用String的一些方法,肯定是会

PHP对象相互引用的内存溢出实例分析_php技巧

通常来说使用脚本语言最大的好处之一就是可利用其拥有的自动垃圾回收机制来释放内存.你不需要在使用完变量后做任何释放内存的处理,因为这些PHP会帮你完成. 当然,我们可以按自己的意愿调用 unset() 函数来释放内存,但通常不需要这么做. 不过在PHP里,至少有一种情况内存不会得到自动释放,即便是手动调用 unset().详情可考PHP官网关于内存泄露的分析:http://bugs.php.net/bug.php?id=33595. 问题症状如下: 如果两个对象之间存在着相互引用的关系,如"父对象

项目中使用System.Threading.Timer对象时IIS释放Timer对象的问题

之前的一个项目中使用System.Threading.Timer对象时有没有遇到IIS释放Timer对象的问 题.说实话之前真没遇到过这个问题,就是说我之前定义的timer对象没有释放,运行正常, 回来后我就百度寻找这方面得信息,原来IIS在运行WebApp时对于非静态资源都是自动释放, 而我回头看了看之前写的Web程序,很幸运当时是这么写的: Global.asax文件 private static Timer time; //System.Threading; private static

php的变量、函数、对象的引用

在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 [php] $a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG"; echo $a;//这里$a的值变为EFG 所以输出EFG echo $b;//这里输出EFG ?> [/p

对象常引用的问题c++语言

问题描述 对象常引用的问题c++语言 #include using namespace std; class Time { public: Time(int h,int m,int s):hour(h),minute(m),sec(s){} int hour; int minute; int sec; }; void fun(Time &) {t.hour=18;} int main() { Time t1(10,13,56); fun(t1); cout<<t1.hour<&l

javascript-JavaScript中对象的引用是什么意思?主要是这个引用是什么意思?

问题描述 JavaScript中对象的引用是什么意思?主要是这个引用是什么意思? JavaScript中对象的引用是什么意思?主要是这个引用是什么意思? 我是在看原型的概念的时候看到的这句话,他说的是,[原型是对象的一个引用]这句话应该怎么解释呢? 解决方案 这里有两个概念混淆了 类-对象 实体-引用 类是对象的抽象定义 对象是类的具现化 如 人 <-> 张三.李四 实体和引用的关系 类比 你家 <-> 你家的地址 回到问题上 1 JS是对象语言,不是面向对象语言,所以它通过函数来

javase-对象与对象的引用,求大神指点

问题描述 对象与对象的引用,求大神指点 public class T1{class Child{ int no;Child nextChild=null;public Child(int no){this.no=no;}}class CycLink{Child temp=null;Child firstChild=null;public void create(){for(int i=1;i<=5;i++){if(i==1){Child ch=new Child(i);this.temp=ch;