iPhone開發(fā)學(xué)習(xí) 內(nèi)存釋放注意事項(xiàng)
iPhone開發(fā)學(xué)習(xí) 內(nèi)存釋放注意事項(xiàng)是本文要介紹的內(nèi)容,iPhone內(nèi)存管理中,涉及到malloc在堆上分配內(nèi)存時(shí),需要使用對(duì)應(yīng)的free釋放堆內(nèi)存,而不是單純的release相關(guān)的對(duì)象了事,如下代碼:
- @interface MemoryTestProjViewController : UIViewController {
- @public
- NSMutableArray * memoryArray;
- }
- @end
- @interface MemoryTestProjItem : NSObject
- {
- @public
- char * innerItem;
- }
- @end
在進(jìn)行初始化時(shí)為innerItem指針在堆空間上分配內(nèi)存,但是要記得調(diào)用free函數(shù)進(jìn)行堆空間的釋放,代碼如下:
- - (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];
- }
小結(jié):iPhone開發(fā)學(xué)習(xí) 內(nèi)存釋放注意事項(xiàng)的內(nèi)容介紹完了,希望本文對(duì)你有所幫助。