(ios)內(nèi)存優(yōu)化筆記
1 整體思路
1.1 開發(fā)過程優(yōu)化:在開發(fā)過程中將軟件功能進行拆分,每一個小功能完成后,及時的進行功能測試
1.2 禁止用autorelease
1.3 大量操作時,主動加 @autoreleasepool,及時將系統(tǒng) autorealease 資源及時釋放
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)點:可直接控制資源釋放,缺點:不適合相同圖片的大量共用
2.2 [UIImage imageNamed:@"radio.png"]方式
優(yōu)點:本身帶緩存機制,適合相同圖片的共用
缺點:大量加載不同圖片,會讓內(nèi)存吃緊
3 界面控件的生成
3.1 new 一個控件,添加完成后 就立即釋放
3.2 設(shè)置UIView的Tag屬性,在界面事件中,通過Tag查找并控制控件相應(yīng)事件
3.3 對象屬性處理完成后,理解釋放
[控件內(nèi)部復制,對象計數(shù)器不加1 ,外部賦值且屬性為retain,對象計數(shù)器加1]