博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
03-OC内存管理原则
阅读量:5129 次
发布时间:2019-06-13

本文共 458 字,大约阅读时间需要 1 分钟。

 

1、原则分析

(1) 只要对象还在被使用,系统就不会回收对象占用的内存。

(2) 当你使用对象的时候,就调用 retain 方法,使对象的计数器+1。

(3) 当你不再使用对象的时候,就调用 release 方法,使对象的计数器-1。

2、内存管理原则

(1)谁创建,谁 release

  1> 如果你通过 allocnew、或[mutable]copy来创建一个对象,那么你必须调用 release autorelease

  2> 换句话说,不是你创建的,就不需要你去 release autorelease

(2) 谁 retain,谁 release

  只要你调用了 retain,无论这个对象是如何生成的,你都要调用 release

总结

(1)有始有终,有加就有减

(2)曾经让对象的计数器+1,就必须在最后让对象计数器-1

看见alloc,就要有release的冲动!

 

转载于:https://www.cnblogs.com/xdl745464047/p/4008142.html

你可能感兴趣的文章
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>