zoukankan      html  css  js  c++  java
  • strong and weak 强引用和弱引用的差别

    (weak和strong)不同的是 当一个对象不再有strong类型的指针指向它的时候 它会被释放  ,即使还有weak型指针指向它。

    一旦最后一个strong型指针离去 。这个对象将被释放,全部剩余的weak型指针都将被清除。

    可能有个样例形容是妥当的。

    想象我们的对象是一条狗,狗想要跑掉(被释放)。

    strong型指针就像是栓住的狗。

    仅仅要你用牵绳挂住狗,狗就不会跑掉。假设有5个人牵着一条狗(5个strong型指针指向1个对象),除非5个牵绳都脱落 ,否着狗是不会跑掉的。

    weak型指针就像是一个小孩指着狗喊到:“看!一仅仅狗在那” 仅仅要狗一直被栓着,小孩就能看到狗。(weak指针)会一直指向它。仅仅要狗的牵绳脱落。狗就会跑掉,无论有多少小孩在看着它。

    仅仅要最后一个strong型指针不再指向对象。那么对象就会被释放。同一时候全部的weak型指针都将会被清除。

    strong就相当于retain属性,而weak相当于assign。仅仅有一种情况你须要使用weak(默认是strong),就是为了避免retain cycles(就是父类中含有子类{父类retain了子类}。子类中又调用了父类{子类又retain了父类}。这样都无法release)


    转载自:点击打开链接

查看全文
  • 相关阅读:
    Android Studio生成APK自动追加版本号
    jquery.nicescroll.min.js滚动条使用方法
    Guid.NewGuid().ToString()生成唯一码js
    解决移动端H5海报滑动插件适应大部分手机问题 手机端高度自适应
    SouthidcEditor编辑器如何支持上传png图片
    谈灰色行业网站建设需要注意的事项
    33个免费的电子商务图标集
    WebKit的已实施srcset图像响应属性
    免费清新浅色图标集
    闪光的不一定是金子:设计数据的一种常见误解
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10638452.html
  • Copyright © 2011-2022 走看看