2015-10-16 iOS开发课程培训总结(六)
  2015-10-16 iOS开发课程培训总结(六)
F_田鸡香也 发表于2年前
  2015-10-16 iOS开发课程培训总结(六)
  • 发表于 2年前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: OC的内存管理


 

   

    为什么要有内存管理?

    1、手机内存本身就小,通常为512MB - 1GB左右,不管理会造成系统崩溃。

    2、如果APP体验效果不好,会造成使用人数的降低。

    

    IOS中内存管理是怎么样的?

    IOS中针对于每一个对象都有一个对象计数器,每个计数器都可以直接针对于这个对象来使用,也就是可以释放对象(内存)

    

    IOS内存管理分有几种?

    1MRC  手动释放内存

    2autorelease  自动释放内存

    3ARC   自动引用计数 (默认)

    

    分别是什么,表现是什么?

    

    MRC 黄金法则: 一旦对象被创建(new alloc init copy retain,那么就由创建者释放。总结:谁创建,谁释放,谁retain,谁release

    注意:retain 是计数器+1 release 是计数器-1

    

    将默认ARC的内存管理方式修改成MRC的方式:

    Target-> 搜索auto -> 找到Automatic Reference Counting 将其修改成NO

    注意:每个对象被创建的时候计数器都为1,也就是说针对于对象的计数最小为1


    为什么IOS对象都会由一个计数器?因为可以用这个计数器来查看这个对象被引用的次数,被多个对象引用,就不能直接释放这个对象。

    

    类的类属性,设置和获取,setget,现在可以简便化:

    @property \ @synthesize

    noatomic 高性能  atomic 低性能

    retain 代表针对于这个对象计数器+1

    readonly  代表对象只读

    setter getter 更改这个方法的名字

  assign 赋值通过针对于简单的数据类型




共有 人打赏支持
粉丝 0
博文 17
码字总数 12463
×
F_田鸡香也
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: