登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

vs-yanguo的博客

 
 
 

日志

 
 
 
 

iPhone 内存释放注意事项两则(转自cocoachina)  

2010-11-20 11:30:58|  分类: objective c |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
iPhone内存管理中,涉及到malloc在堆上分配内存时,需要使用对应的free释放堆内存,而不是单纯的release相关的对象了事,如下代码: @interface MemoryTestProjViewController : UIViewController { @publ

    iPhone内存管理中,涉及到malloc在堆上分配内存时,需要使用对应的free释放堆内存,而不是单纯的release相关的对象了事,如下代码:

@interface MemoryTestProjViewController : UIViewController {
@public
NSMutableArray * memoryArray;
}


@end


@interface MemoryTestProjItem : NSObject
{
@public
char * innerItem;
}
@end

    在进行初始化时为innerItem指针在堆空间上分配内存,但是要记得调用free函数进行堆空间的释放,代码如下:
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;

memoryArray = [[NSMutableArray alloc] initWithCapacity:10];
for(int i = 0;i < 1024;i++)
{
     MemoryTestProjItem* item = [[MemoryTestProjItem alloc] init];
     item->innerItem = (char*)malloc(1024);
     [memoryArray addObject:item];
     [item release];
     free(item->innerItem);
     free(item);
}
[memoryArray removeAllObjects];
}

  评论这张
 
阅读(401)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018