当前位置: 首页 > news >正文

适合做网站服务器的主机/做网站需要多少钱

适合做网站服务器的主机,做网站需要多少钱,营销型网站 易网拓,网络优化推广公司文章目录OC内存管理原则示例OC手动内存管理又叫做手动引用计数,简称为MRC,IOS4.0之前使用的一种内存管理方式,之后提出了ARC。有了ARC我们可以把所有的精力放在项目的开发之上,系统给我们自动完成内存管理。OC内存管理原则 只要使…

文章目录

  • OC内存管理原则
  • 示例

OC手动内存管理又叫做手动引用计数,简称为MRC,IOS4.0之前使用的一种内存管理方式,之后提出了ARC。有了ARC我们可以把所有的精力放在项目的开发之上,系统给我们自动完成内存管理。

OC内存管理原则

只要使用以alloc,new, copy,mutableCopy, retain(这五个单词开头的方法)将一个对象的地址赋给一个指针变量时,该对象指针就拥有这个对象的绝对使用权,就会导致这个对象的引用计数加一,使用后就要进行release或autorelease来释放对象。(最终加一,减一的个数要一样,达到内存的平衡管理。)

示例

Build Settings里Objective-C Automatic Reference Counting参数默认是YES,改为NO。(搜索gar)

重写dealloc函数

-(void)dealloc{NSLog("person<%p>被销毁",self);[super dealloc];
}

每当我们去调用[super dealloc]的时候这个对象就已经被释放了,所以不能把一些逻辑写在这个方法调用之后。写在之后的话很可能因为去使用一个已经释放的对象而造成内存崩溃。

int main(int argc,const char *argv[]){@autoreleasepool{Person *person=[Person new];[person work];[person release];}
}

调[person release]会调dealloc函数,如果不调[person release]就会造成内存泄漏。
内存过度释放:
不如上面的例子:调用两次[person release],程序就会在dealloc 函数里崩溃。因为第二次调[person release]就相当于在使用一个不存在的对象,这是在对野指针进行操作。

int main(int argc,const char *argv[]){@autoreleasepool{Person *person=[Person new];[person work];[person release];[person work];

虽然第二个 [person work];访问的是僵尸对象,而系统是不会实时监测僵尸对象的,有时在你运行的时候监测到了,它会抛出异常,但有时恰巧你运行的时候它没有监测到僵尸对象这里,它是不会把异常及时得抛出的。
如果想及时得抛出异常,需要调整一个地方。
product-Scheme-Edit Scheme-run-Diagnostics-Enable Zombie Object钩上
person.retainCount,只需要记住retainCount是对象是否被销毁的唯一标志就行了,不要轻易得去使用它,如果非要使用,可能得到一些意想不到的结果,导致程序运行结果不准确。

autorelease的使用:

Person *person=[[[self alloc]init]autorelease];

被autorelease标记的类,放到autoreleasepool自动释放池里使用,就会被自动释放池所管理,当出了自动释放池的大括号之外,就会进行对象释放,是我们系统自动完成的,不需要我们操心person类的生命周期了。但是如果另外调了retain函数,就还需要调release释放一下。

http://www.jmfq.cn/news/5193127.html

相关文章:

  • 响应式网站建设服务提供商/大数据培训班需要多少钱
  • 互联网平面设计是干什么的/北京债务优化公司
  • wordpress 文章 新窗口打开/历下区百度seo
  • 电子上网站建设与维护/seo免费视频教程
  • 苏州做网站推广的公司/搜索引擎优化简称seo
  • 陕西网站建设咨询/seo成功案例分析
  • 牛街网站建设/网站数据分析案例
  • 企业 网站建设/百度一下 你知道首页
  • 设计logo网站免/百度有哪些app产品
  • 做网站好迷茫/如何在百度上投放广告
  • 网站的后台是开发做的/360手机优化大师下载
  • 佛山网站优化什么价格/摘抄一则新闻
  • 湖南省建设局官方网站/竞价推广账户托管
  • 烟台市做网站找哪家好/企业网站模板图片
  • 火影忍者做网站的超帅图片/数据分析师培训
  • 南宁快速建站模板/中央人民政府
  • 便宜的网站建设公司/2020年百度搜索排名
  • 网站 侧边栏/广州网络运营课程培训班
  • 制作公司网站的费用/公众号引流推广平台
  • dede网站地图调用/图片外链上传网站
  • 龙采做网站要多少钱/怎么建立信息网站平台
  • 公司网站手机版设计/上海搜索排名优化公司
  • 小程序微商城定制开发/google搜索引擎优化
  • 网站做防劫持/效果最好的推广软件
  • 公司在线网站制作系统/网站名称查询
  • 昆明网站制作专业/广州seo网站推广平台
  • 泰安网站设计/广州网站优化方案
  • 湖北建设厅官网/北京seo关键词排名
  • 珠海网站建设官网/小时seo加盟
  • 网站设计的介绍模板/网站建设定制