zoukankan      html  css  js  c++  java
  • 弱引用

    弱引用

      弱引用允许应用程序访问对象,同时也允许垃圾回收器收集相应的对象。如果不存在强引用,则弱引用的有限期只限于收集对象前的一个不确定的时间段。使用弱引用时,应用程序仍可对该对象进行强引用,这样做可防止该对象被收集。但始终存在这样的风险:垃圾回收器在重新建立强引用之前先处理该对象。

      弱引用特别适合以下对象:占用大量内存,但通过垃圾回收功能回收以后很容易重新创建。

      当用户切换到应用程序的其他部分时,可使用 WeakReference 类来创建对该树的弱引用,并销毁所有强引用。当用户切换回该树时,应用程序会尝试获得对该树的强引用,如果得到,就不必重新构造该树。

      要对某个对象建立弱引用,请使用要跟踪的对象的实例创建一个 WeakReference。然后将 Target 属性设置为该对象,将该对象设置为 null。有关代码示例,请参见类库中的 WeakReference

      下面的示例使用短弱引用创建数据对象的缓存。此示例摘自为 WeakReference 类提供的一个更大的示例。

      

      C#中,弱引用分为short和long2种,short弱引用会在对象不会用时target被赋为null,而long弱引用不会将target赋为null。

    参考:http://msdn.microsoft.com/zh-cn/library/sk6k8h17(v=vs.90).aspx

      

  • 相关阅读:
    数数小木块
    猴子吃桃问题
    整除个数
    大小写互换
    车牌号
    比较字母大小
    队花的烦恼一
    字母小游戏
    字符串逆序输出
    茵茵的第一课
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3916877.html
Copyright © 2011-2022 走看看