强引用

Posted gaogaihui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强引用相关的知识,希望对你有一定的参考价值。

数组会对它里面的每一个元素进行一次强引用,保证不会释放
 
 
initwithrootview 但凡是通过initwithroot,add加载的东西也都是强引用了一次
所以,说把局部变量的导航控制器赋值给窗口的根视图时候,导航控制器(局部变量)依然存在,不会销毁
但是,子定义窗口的时候用局部变量就不信行
 
 
push的也是强引用了一次
 
分清楚view,vc
 
导航控制器有三部分:导航条,存储子控制器view的地盘,存储子控制器的栈
 
 
  1. 导航控制器push 的时候,会做两件事
  2. 第一把子控制器放入栈的数组里面,并且强引用一次(保证子控制器不会被销毁)
  3. 第二把子控制器的view贴在导航控制器存储子控制器view的地盘
 
当有新的视图控制器进来时,会把原来控制器的view移开,但该view不会被销毁,因为该vc被数组强引用了一次,还存在,然后view也被vc强引用了一次,还存在,只是暂时不用(不显示)
 
 
pop的时候呢,vc被从数组里面移除,vc不存在,view也不存在了

以上是关于强引用的主要内容,如果未能解决你的问题,请参考以下文章

强引用strong和弱引用weak的定义

[转]Java 的强引用弱引用软引用虚引用

强引用软引用弱引用幻象引用有什么区别

java引用 强引用,软引用,弱引用

Java四大引用详解:强引用软引用弱引用虚引用

JAVA四种引用(强引用,弱引用,软引用,虚引用)