iOS之内存管理
wangjunling888
分享是一种快乐, 坚持是一种勇气, 程序编写人生, 代码创造生活! 我的思想在键盘里飞奔, 我的智慧在代码中活跃!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
iOS之手动内存管理
内存管理是每个程序员必须要掌握的技能, 也是写好一个程序,写一个好程序的必备技能. 下面谈一下我对iOS开发中的内存管理的理解. 如果你是一个比较新的iOS程序员, 那么恭喜你, 你已经很轻松了, 因为在现在的开发中已经很少去手动管理内存了, 那么问题来了, 既然不需要去手动管理了那学他还有什么用呢? 当然有用, 因为之后你学了之后才会真正了解一个对象的创建和消失过程. 而且对于比较老的第三原创 2016-03-04 13:00:52 · 638 阅读 · 0 评论 -
OC中weak/assign/strong
Weak&Strong很多人不理解oc对象用strong,为啥oc控件一般用weak, 这里说一下, 原因就是 controller强引用view, view强引用这subViews 所以对于添加的控件没有必要再对其强引用.强调一下这里的weak并不是解决循环引用的问题那么weak 和assign 有什么区别呢, weak所修饰的对象, 当销毁时起指针会指向nill, 而assig原创 2016-04-09 14:28:16 · 808 阅读 · 0 评论 -
Block为什么用copy修饰
默认情况下,block是存档在栈中,可能被随时回收,通过copy操作可以使其在堆中保留一份, 相当于一直强引用着, 因此如果block中用到self时, 需要将其弱化, 通过__weak或者__unsafe_unretained. 以下是示例代码及其说明, 读者可以试着打印出不同情况下block的内存情况//// ViewController.m// 为什么bloc原创 2016-05-12 23:31:45 · 9884 阅读 · 1 评论 -
Autorelease自动释放池的使用
使用ARC开发,只是在编译时,编译器会根据代码结构自动添加了retain、release和autorelease.MRC内存管理原则:谁申请,谁释放 遇到alloc/copy/retain 都需要添加release或autoreleaseautorelease 只是一个标记,表明会延迟释放 当一个autorelease对象超出自己的作用域后,会被添加到离他最近的autorelease pool中,原创 2016-05-09 20:30:09 · 1907 阅读 · 0 评论 -
UI控件为什么要用weak
首先纠正一下标题, 不应该叫UI控件, 而是通过xib直接拖拽的UI控件(@property (weak, nonatomic) IBOutlet UIButton *testBtn;). 对于新学习的同学可能不太容易理解week属性, 误以为, week是为了解决循环引用的而使用的, 而事实上, 通过xib拖拽的控件属性, 系统自动使用week修饰, 不是为了解决循环引用问题的. 这个应该很好...原创 2016-05-09 19:42:19 · 1207 阅读 · 1 评论
分享