1、NSDateFormatter、NSCalendar等
復(fù)用(使用C語言中的strptime函數(shù),添加屬性或靜態(tài)變量保持該對象只被初始化一次)
2、imagedNamed和imageWithContentsOfFile
imageNamed默認(rèn)加載圖片成功后會內(nèi)存中緩存圖片
imageWithContentsOfFile則僅只加載圖片,不緩存.
確保image和imageView的大小一致、圓角繪制。
3、啟動時間優(yōu)化
減少不必要的framework,動態(tài)鏈接比較耗時;
合并或者刪減一些OC類。
異步完成耗時操作(網(wǎng)絡(luò),數(shù)據(jù)讀取);
懶加載視圖,圖片等;
+load()方法仔細(xì)分析,盡量延后調(diào)用,如放到+initialize。
didFinishLaunching里的方法內(nèi)優(yōu)化:
純代碼方式加載首頁UI,與UI展示無關(guān)的延遲加載
4、無用圖片、無用資源(plist、html、ttf、音視頻文件等)、無用類、無用方法及代碼(AppCode)、無用靜態(tài)變量
5、卡頓監(jiān)控:Bugly工具跟蹤
6、內(nèi)存泄漏(循環(huán)引用、類似NSTimer等)
7、檢查文件的編譯耗時
8、重復(fù)代碼問題
9、無用import文件導(dǎo)入,頭文件盡可能用@class去代替import
10、避免龐大XIB,因為它們是在主線程上加載的。
11、tableView reloadData和reloadRows的選擇
12、避免創(chuàng)建很多臨時對象帶來的壓力,使用Autorelease Pool。
13、Cocapods管理第三方,注意選取與使用,不要為了一片樹葉而引入森林。
13、代碼檢查: sonar 結(jié)合 oclint 自定義規(guī)則,代碼風(fēng)格處理: clang-format
iOS性能優(yōu)化記錄
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。