iPhone开发学习 内存释放注意事项是本文要介绍的内容,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];
- }
小结:iPhone开发学习 内存释放注意事项的内容介绍完了,希望本文对你有所帮助。