一倦青、列表
? ? TableView/CollectionView的無限下滑會導致數(shù)據(jù)瓮床、UI的持續(xù)調(diào)用,會造成內(nèi)存暴漲
? ? 優(yōu)化:采用手指停止時進行加載的方法产镐,對于一直無限上滑的騷操作隘庄,可以不用處理太對,在將要開始滑動(停止請求癣亚、處理數(shù)據(jù)等)/將要停止滑動(立馬開始處理數(shù)據(jù))節(jié)點把握
二丑掺、視頻/圖片大批量的加載
? ? 圖片/視頻的大批加載,會讓CPU飆升述雾,因為圖像的請求街州,調(diào)用GPU顯示,甚至有一些超大圖的顯示玻孟,會讓App暴漲唆缴,崩潰也再所難免
? ? 優(yōu)化:對于一些好用的三方(OC:SD;Swift:KF)是需要使用的取募,但對于一些方法的監(jiān)聽也是需要的didReceiveMemoryWarning/applicationDidReceiveMemoryWarning琐谤,當收到此警告要立即清除Cache
三、濫用主線程刷新UI
? ? 刷新UI需要在主線程里面玩敏。本身刷新UI就是一個耗時斗忌、耗性能的操縱质礼,對于連續(xù)性刷新UI,內(nèi)存肯定會暴增织阳,所以這就要求開發(fā)者代碼規(guī)范眶蕉,在業(yè)務層處理時,對于一些持續(xù)刷新UI操作唧躲,要注意造挽。
四、遞歸調(diào)用
????遞歸指循環(huán)調(diào)用弄痹,直到達到某一條件停止饭入。因為會無限調(diào)用,所以會造成CPU一直處于運行狀態(tài)肛真,就會造成內(nèi)存增長谐丢。
五、定時器
? ? 定時器是一個使用創(chuàng)建蚓让、不用立即銷毀的對象乾忱。在開發(fā)時如多處使用時要注意,切記銷毀對象历极。