iPhone开发学习 内存释放注意事项是本文要介绍的内容,iPhone内存管理中,涉及到malloc在堆上分配内存时,需要使用对应的free释放堆内存,而不是单纯的release相关的对象了事,如下代码:
@interface MemoryTestProjViewController : UIViewController {
@public
NSMutableArray * memoryArray;
}
@end
@interface MemoryTestProjItem : NSObject
{
@public
char * innerItem;
}
@end
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
在进行初始化时为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];
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
小结:iPhone开发学习 内存释放注意事项的内容介绍完了,希望本文对你有所帮助。