#内存管理
来源:互联网 发布:微信小动画制作软件 编辑:程序博客网 时间:2024/05/22 07:55
内存管理
程序是在内存中运行的,那么它将会占据内存空间,而且随着程序的运行,内存占用会不断增加。如果没有一套完善的内存管理机制,内存会不断增加,运行将会被耗尽,会导致崩溃。在oc,它们需要用程序员来动手管理内存,也就是靠程序员实例。
对于oc来讲虽然它需要程序员手动管理内存,但是它引用一个机制来使方便管理员,这种方式叫做‘引用计数’
随着发展,拼过公司为了减轻程序员的负担又引用了另一种机制,及类似于垃圾回收机制,意味着这种机制,开发人员基本上不需要关心内存释放问题。
对于以上两种方法,我们叫做手动管理内存,和自动管理内存,xcode5.0以后我们开发程序都默认为是自动内存管理。
手动管理内存 mrc
###对象的生命周期
当一个实例对象类实例出来后,就代表这个对象的产生;当不再用此实例对象时,我们需要将此对象进行销毁,就代表生命周期的结束。
引用计数
在手动进行内存管理时,oc语言为开发者提供一种方便管理的内存机制,即为引用计数,此机制为每个对象分配一个引用计数 。
当一个对象时;引用计数为对象的引用计数赋值为一,
当销毁是,引用计数为对象的引用计数赋值为0.
在oc中,用retaincount属性来表示一个对象的引用技术‘
##改变引用计数的方法
1 对象初始化方法时,对象的引用计数为1,即alloc,new
方法可以改变引用技术,即将对象的引用计数变为1.
2.使用retain 方法可以将对象的当前引用计数加一;
3使用release方法可以将对象的当前引用计数减一。
…….
0 0
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- 内存管理
- Java中注解的应用
- flask获取表单以enctype="multipart/form-data"格式发送的数据
- VC6编译64位程序
- hql更新数据,出错invalid path:....unexpected end of subtree
- OSG智能指针之强指针与弱指针
- #内存管理
- C语言函数栈调用二
- log4j配置
- 黑马程序员 c语言 实现对四百年大润的判定
- Java - Thinking in Java 第6章 访问权限控制
- 乘法通过查表实现
- 行为型模式-中介者模式
- 【CodeVS2885】钉子与小球
- 测试 hosts