#内存管理

来源:互联网 发布:微信小动画制作软件 编辑:程序博客网 时间: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