淺談IOS內(nèi)存優(yōu)化經(jīng)驗(yàn)
淺談IOS內(nèi)存優(yōu)化經(jīng)驗(yàn)是本文要介紹的內(nèi)容,詳細(xì)的講解了IOS的內(nèi)存優(yōu)化方案,不多說(shuō),我們先來(lái)看詳細(xì)內(nèi)容。
首先最最重要的還是確保每個(gè)retain,copy,delloc都帶有一個(gè)release
1.凡事有CT..Create..的要用CTRelease(myObject)釋放; CF等也同樣道理
2.下面的return前也沒有釋放
- CTParagraphStyleRef paragraphStyle=CTParagraphStyleCreate(paragraphStyle_settings,
- sizeof(paragraphStyle_settings) / sizeof(paragraphStyle_settings[0]));
- if(...)
- {
- <SPAN style="WHITE-SPACE: pre"> </SPAN>return; //這里會(huì)溢出
- }
- CTRelease(paragraphStyle);
- CTParagraphStyleRef paragraphStyle=CTParagraphStyleCreate(paragraphStyle_settings,
- sizeof(paragraphStyle_settings) / sizeof(paragraphStyle_settings[0]));
- if(...)
- {
- return; //這里會(huì)溢出
- }
- CTRelease(paragraphStyle);
3.有時(shí)NSMutableArray mutableCopy也會(huì)溢出
- NSMutableArray *mutableRecents = [NSMutableArray arrayWithArray:recentSearches];
- //NSMutableArray *mutableRecents = [recentSearches mutableCopy]; 這里內(nèi)存會(huì)溢出
- [mutableRecents removeObject:searchString];
- NSMutableArray *mutableRecents = [NSMutableArray arrayWithArray:recentSearches];
- //NSMutableArray *mutableRecents = [recentSearches mutableCopy]; 這里內(nèi)存會(huì)溢出
- [mutableRecents removeObject:searchString];
4.dealloc里面的內(nèi)存溢出大部分由init或initWithFrame不正當(dāng)?shù)某跏蓟?/p>
5:先在Instrument下用模擬器檢查內(nèi)存溢出,再用Instrument連真機(jī)檢查.
小結(jié):淺談IOS內(nèi)存優(yōu)化經(jīng)驗(yàn)的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!