关于内存方面,retain,copy,assign-创新互联

内存管理机制

创新互联建站长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为保靖企业提供专业的网站设计、网站制作,保靖网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

 引用计数:因为OC中不存在垃圾回收机制,所以才根据引用计数回收机制。当引用计数为0时,销毁空间。也就是说,根据引用计数来确定一个对象是否释放。

 可以改变引用计数的操作:allco retain release copy dealloc

 便利构造器

自动释放池:

 每次对象调用autorelease 方法时(obj-c中的正式说法应该是:给对象发送autorelease消息),对象的引用计数并不是真正变化,而是向pool中添加一条记录,记下对象的这种要求。最后当pool发送drain 或者 release 消息时,池中的所有对象的这种要求一一被执行(即:pool被销毁前,会通知池中的所有对象,全部发送release 消息真正将引用计数减少,如果对象之前没有发送过autorelease 消息)

  retain:引用计数+1 操作,获取对象的所有权,与release 对应。

  线程:注意当视图退出时,需要关闭自己所开线程

  alloc : 开辟空间,引用计数有0变为1,dealloc :销毁空间 手动调用dealloc 时候会强制将引用计数置为0;

  copy:将源数据重新复制一份,原数据引用计数不变,拷贝的一份引用计数+1;复制一个对象,并且存储在不同的内存区,原对象的引用计数不变。遵循NSCoping 协议的可以深拷贝。

  assign :×××或者其他常量的引用计数。不发生改变

  在ARC模式下,strong 与retain相似,strong,用于ARC模式下,表明对象属于强引用,类似retain ,但是比retain更加安全,只要对象存在拥有者,就可以引用,不会被释放,只要对象失去拥有者,立即被抛弃,不必再将已经指向已经释放的对象的指针指向空。避免了野指针。

  weak 类似assign ,弱引用,引用计数不会增加。释放指针自动置为nil

  在ARC模式下,weak 与 assign 相似,

  readwrite:读写,既有setter 和 getter

  readonly:只有读操作,即只有getter

  nonatomic :非原子特性,不保证多线程下保护安全

  atomic:原子特性,保证多线程下安全,有一个属性需要对个线程同时访问一个变量,使用atomic 能够自动枷锁解锁。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:关于内存方面,retain,copy,assign-创新互联
URL分享:http://azwzsj.com/article/dcohoi.html