- 對(duì)于大開(kāi)銷的操作,盡量在執(zhí)行這些操作前先判斷下操作的執(zhí)行條件,以減少大開(kāi)銷操作的頻率;如:
因?yàn)榧渔i操作要比普通代碼耗費(fèi)更多的資源,所以,如果鎖內(nèi)的操作有執(zhí)行條件時(shí),盡量再把執(zhí)行條件在加鎖之前再判斷一次,以減少不必要的加鎖操作; - 對(duì)于頻繁執(zhí)行的操作,可以在這些操作前加個(gè)開(kāi)銷較小的必要條件,以減少操作的執(zhí)行頻率;如:
假設(shè)有需要頻繁判斷字符串string1是否包含字符串string2;由于這種處理操作會(huì)涉及到字符級(jí)別的遍歷和比較,所以也算是一個(gè)較耗性能的處理,為了減少這個(gè)操作的執(zhí)行頻率,我們可以加個(gè)執(zhí)行條件:string1.length >= string2.length;因?yàn)楂@取length僅僅是獲取一個(gè)屬性值,相對(duì)判斷是否包含另外一個(gè)字符的操作所需的處理資源要少很多,所以在頻繁執(zhí)行是否包含字符串的操作時(shí),加此判斷條件能大大提升性能; - 在實(shí)現(xiàn)復(fù)雜度相近的情況下,UIScrollView與UITableView和UICollectionView相比,優(yōu)先考慮通過(guò)UIScrollView;比如一些固定字段的展示和表單;
- 對(duì)于固定且少量?jī)?nèi)容的UITableView,動(dòng)態(tài)與靜態(tài)相比,優(yōu)先考慮靜態(tài)的UITableView;
- 對(duì)于UITableView和UICollectionView盡量使用預(yù)估機(jī)制;
- 對(duì)于多元素的集合,優(yōu)先考慮使用重用機(jī)制;
- 對(duì)于可能用到的對(duì)象盡量使用懶加載;
- 對(duì)于不影響視圖渲染的邏輯盡量放在非主線程;
- 盡量把視圖的opaque(不透明)屬性設(shè)置為YES,優(yōu)其在動(dòng)態(tài)的視圖里;
- 在XIB文件中,盡量把可能不用的元素抽離到其它XIB中,因?yàn)楫?dāng)加載XIB時(shí),會(huì)把XIB中的所有元素加載到內(nèi)存中;對(duì)于XIB和Storyboard,優(yōu)先考慮使用Storyboard;
- 盡量保證UIImageView的大小和UIImage的實(shí)際大小一致,因?yàn)榫`放圖片比較耗費(fèi)資源,優(yōu)其在動(dòng)態(tài)視圖里;
- 正確使用集合:Array、Dictionarie、Set;
- 對(duì)于經(jīng)常使用的對(duì)象和通過(guò)密集型計(jì)算得來(lái)的不常變的數(shù)據(jù),盡量進(jìn)行緩存;
- 處理內(nèi)存警告;
- 對(duì)于經(jīng)常被實(shí)例化的類,盡量通過(guò)設(shè)置此類已有的實(shí)例的屬性來(lái)重用已有的實(shí)例,從而避免重新創(chuàng)建對(duì)象;
- 對(duì)于JSON和XML,少量的數(shù)據(jù)傳輸盡量使用JSON,龐大的數(shù)據(jù)傳輸盡量使用XML,因?yàn)閄ML是流式解析;
- 當(dāng)背景需要重復(fù)平鋪圖片時(shí),盡量使用UIColor的方式設(shè)置View的背景;當(dāng)背景圖片是單個(gè)圖片時(shí),盡量使用添加UIImageView的方式;
- 選擇合適的數(shù)據(jù)持久化技術(shù);
- 減少應(yīng)用啟動(dòng)時(shí)間;
- 在密集型創(chuàng)建對(duì)象的地方,適時(shí)手動(dòng)釋放自動(dòng)釋放池,或者使用單獨(dú)的自動(dòng)釋放池;
- 當(dāng)加載一次性圖片時(shí),盡量使用
imageWithContentsOfFile方法,當(dāng)加載會(huì)多次用到的圖片時(shí),盡量使用imageNamed方法,因?yàn)椋?code>imageWithContentsOfFile方法不會(huì)緩存加載的圖片,imageNamed方法會(huì)緩存加載的圖片; - 盡量避免使用NSDateFormatter來(lái)處理日期;
- 盡量使用代碼量少的方案;
- 盡量用ARC管理內(nèi)存,防止粗心導(dǎo)致的內(nèi)存泄露!并且合理管理管理ARC管理不到的引用;
IOS應(yīng)用性能調(diào)優(yōu)總結(jié)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
- 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
- 一部差點(diǎn)因?yàn)槊趾秃?bào)錯(cuò)過(guò)的青春片,但是看到一句“很‘俗’很好看,很純很像你”的宣傳語(yǔ)之后毅然買了票,意外懷抱了滿...
- 基本信息 【拍攝設(shè)備】:佳能 6D+24-105mm f/4.0 【參數(shù)設(shè)置】: 1/60s f/4.0 ISO...