(ios)內(nèi)存優(yōu)化筆記
1 整體思路
1.1 開(kāi)發(fā)過(guò)程優(yōu)化:在開(kāi)發(fā)過(guò)程中將軟件功能進(jìn)行拆分,每一個(gè)小功能完成后,及時(shí)的進(jìn)行功能測(cè)試
1.2 禁止用autorelease
1.3 大量操作時(shí),主動(dòng)加 @autoreleasepool,及時(shí)將系統(tǒng) autorealease 資源及時(shí)釋放
2 圖片讀取方式,和內(nèi)存之間的關(guān)系
2.1 [[UIImage alloc]initWithContentsOfFile:path]方式
NSString *path = [[NSBundlemainBundle] pathForResource:[NSStringstringWithFormat:@"%@.jpeg",self.questiondata.titleimg] ofType:nilinDirectory:@""];
titleImg = [[UIImage alloc]initWithContentsOfFile:path];
優(yōu)點(diǎn):可直接控制資源釋放,缺點(diǎn):不適合相同圖片的大量共用
2.2 [UIImage imageNamed:@"radio.png"]方式
優(yōu)點(diǎn):本身帶緩存機(jī)制,適合相同圖片的共用
缺點(diǎn):大量加載不同圖片,會(huì)讓內(nèi)存吃緊
3 界面控件的生成
3.1 new 一個(gè)控件,添加完成后 就立即釋放
3.2 設(shè)置UIView的Tag屬性,在界面事件中,通過(guò)Tag查找并控制控件相應(yīng)事件
3.3 對(duì)象屬性處理完成后,理解釋放
[控件內(nèi)部復(fù)制,對(duì)象計(jì)數(shù)器不加1 ,外部賦值且屬性為retain,對(duì)象計(jì)數(shù)器加1]