实际开发中关于autorelease的运用
来源:互联网 发布:suse linux 安装ftp 编辑:程序博客网 时间:2024/06/08 17:48
autorelease与release:
autorelease的功能和release的功能一样,同样是将retaincount -1。区别在于release能够精确减1,且release操作之后不能再对对象进行操作,而autorelease则能够延迟release对象。
autoreleasepool:对象存放到自动释放池中,当这个池子被销毁的时候他会对池子中所有的对象进行一次release操作。
Person *p = [[person alloc]init];
@autoreleasepool
{
[p autorelease]; autorelease方法的作用就是将对象放入到池子中,然后返回一个self。
}
而在实际开发当中又会经常碰到上面这样的情况,当你在一个方法当中需要创建一个对象,并且需要返回这个对象时,这个时候如果使用release,精确的释放掉对象,那么就会造成野指针操作。而这时就必须使用延迟释放的autorelease来进行释放food对象。
实际上,相对于[NSString stringwithformat:1.0] , [NSArray arraywithobjects:]这一类构造函数,返回的对象都是autorelease。
0 0
- 实际开发中关于autorelease的运用
- 在实际软件开发中运用到的工具
- 实际开发运用的工具类优化。
- stm32实际运用中遇到的问题
- Android中注解的实际运用
- 数据库设计的14个技巧--在实际开发中,注意运用体会吧
- 关于OC的autorelease
- 关于OC的autorelease
- Android之Volley框架在实际开发过程中运用
- fusioncharts的实际运用
- AcionBar的实际运用
- 实际开发运用的工具类优化(二)。
- 在eclipse中FreeMarker的实际运用案例
- c# 线程中任务Task的实际运用
- 关于Mstar手机开发中关于对flash实际空间大小的简单说明
- hash算法的实际运用
- 关于实际开发中优化web的一些小技巧汇总(持续更新中)
- PHP中关于队列的实际应用
- MFC 与 win32应用程序区别(转)
- 不用局部变量实现C语言两数交换算法
- 如何使用Maven构建《hadoop权威指南3》随书的源码包
- hdu 1024 Max Sum Plus Plus(dp求m个不相交子段和的最大值)
- Linux下mysql 修改编码
- 实际开发中关于autorelease的运用
- Swift - JSON
- MYSQL数据类型优化
- gets和scanf
- Android contacts 联系人 通讯录 源码 完全解析
- HDU——1395 2^x mod n = 1(取模运算法则)
- C语言代码优化
- 如何用python编写collectd的plugin
- Anagram and Multiplication