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

网站上的图片格式怎么做接app推广

网站上的图片格式怎么做,接app推广,重庆建设工程信息网官网查询入口,网站服务器 试用转:http://tigercat1977.blog.163.com/blog/static/2141561122012111294616203/ 第六讲:Obj-C 内存管理4 - 自动释放池 主要内容什么是自动释放池自动释放池的好处如何创建一个自动释放池自动释放池如何释放对象内存自动释放池栈式结构管理Autoreleas…

转:http://tigercat1977.blog.163.com/blog/static/2141561122012111294616203/

第六讲:Obj-C 内存管理4 - 自动释放池 

主要内容
      什么是自动释放池
      自动释放池的好处
      如何创建一个自动释放池
      自动释放池如何释放对象内存

      自动释放池栈式结构管理

Autorelease pool
     1. 自动释放池(Autorelease Pool)是 OC 的一种内存自动回收机制,可以将一些临时变量通过自动释放吃来回收统一释放
     2. 当自动释放池本身销毁的时候,池子里所有的对象都会做一次 release 操作

autorelease

      任何OC对象只要调用 autorelease 方法,就会把该对象放大离自己最近的自动释放池中(栈顶的释放池)

创建自动释放池 (两种方法)
第六讲:Obj-C 内存管理4 - 自动释放池 - tigercat1977 - tiger notes
       IOS5.0 新方式
     @ autoreleasepool
      {
      }


      IOS5.0 之前的老方式
      NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

      [pool release];


遛狗原理
第六讲:Obj-C 内存管理4 - 自动释放池 - tigercat1977 - tiger notes

典型例子(正确)
      Dog *dog1 = [[Dog alloc] init];
      [xiaoLi setDog:dog1];
     [dog1 release];

典型例子 (错误)
      [xiaoLi setDog:[[Dog alloc] init]];
      上述代码有内存泄漏

典型例子(正确)好的方法
     Dog *dog = [[[Dog alloc] init] autorelease];
      [xiaoLi setDog:dog1];
      //这里不能跟 [dog1 release];

典型例子(正确) 放成一行
      [xiaoLi setDog:[[[Dog alloc] init] autorelease]];

黄金法则
      如果对一个对象使用了 alloc, [mutable]copy, retain,那么必须使用相应的 release 或者 autorelease

举例

// Dog.h #import <Foundation/Foundation.h> @interface Dog : NSObject { int _ID; } @property int ID; @end

// Dog.m #import "Dog.h"@implementation Dog @synthesize ID = _ID; - (void) dealloc { NSLog(@"dog %d dealloc", _ID); [super dealloc]; } @end


// Person.h #import <Foundation/Foundation.h> #import "Dog.h" @interface Person : NSObject { Dog *_dog; } @property (retain) Dog *dog; @end

// Person.m #import "Person.h" @implementation Person @synthesize dog = _dog; - (void) dealloc { self.dog = nil; NSLog(@"person dealloc"); [super dealloc]; } @end


// main.m #import <Foundation/Foundation.h> #import "Person.h" #import "Dog.h" int main (int argc, const char * argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSLog(@"Hello, World!"); Person *xiaoLi = [[Person alloc] init]; Dog *dog1 = [[[Dog alloc] init] autorelease]; // 把 dog1 这条狗放在自动释放池里,上边的pool中 NSLog(@"dog1 retaincount is %ld", [dog1 retainCount]); xiaoLi.dog = dog1; NSLog(@"dog1 retaincount2 is %ld", [dog1 retainCount]);// [dog1 release]; // autorelease 了,不需要再 release [xiaoLi release]; NSLog(@"dog1 retaincount3 is %ld", [dog1 retainCount]); [pool release]; NSLog(@"end of release"); return 0; } /* 输出结果 Hello, World! dog1 retaincount is 1 dog1 retaincount2 is 2 person dealloc dog1 retaincount3 is 1 dog 0 dealloc end of release */






 

 

http://www.lbrq.cn/news/2773909.html

相关文章:

  • 建设网站的策划书互联网平台推广怎么做
  • 京东店铺买卖平台seo关键词的优化技巧
  • 网站后台上传图片做难吗?域名怎么注册
  • 简单的网站设计div css盒子友情链接官网
  • 广州新塘建网站宁波网络推广方式
  • 个人做动漫资源网站有哪些客户关系管理系统
  • 互联网公司的经营范围有哪些重庆百度搜索优化
  • 崇信县门户网站最新留言重庆关键词自然排名
  • 辽宁城乡建设网站电商的运营模式有几种
  • 网上商城建站服务商刷外链
  • 网站关键词排名优化应该怎么做数字营销课程
  • 做视频网站视频存放问题网络营销网站推广方案
  • 百度推广和网站建设seo排名优化app
  • facebook怎么建设网站酒店机票搜索量暴涨
  • 直播网站开发百度首页登录入口
  • 如何优化网站代码成都网站seo费用
  • 做电影网站违法吗重庆森林经典台词独白
  • 网站功能设计指什么市场营销的八个理论
  • 网站要注册为什么公关公司经营范围
  • 做网站需要学习哪些百度广告服务商
  • 广州有哪些软件开发公司博客seo怎么做
  • 如何做网站流量百度关键词推广怎么收费
  • 做网站用php吗湖南正规seo优化
  • 东莞vi设计公司排名什么叫优化
  • wordpress音乐页面下载文件seo搜索引擎优化师
  • 泰兴网站建设开发大数据营销软件
  • wordpress最新更新列表页面朝阳网站seo
  • 网站正在建设中 html源码福州关键词搜索排名
  • 给别人做网站被诉侵权免费营销培训
  • 营销型网站建设模板网上销售渠道
  • 期权小故事:王安石变法与期权
  • 力扣hot100:三数之和(排序 + 双指针法)(15)
  • 图论\dp 两题
  • 决策树1.1
  • 手写MyBatis第24弹:从单条插入到批量处理:MyBatis性能优化的关键技术
  • 计算机网络 Session 劫持 原理和防御措施