隨着項目開發接近了尾聲,改Bug和性能優化成了工作的重中之重,移動端開發,最注重用戶體驗,一個絲滑般的應用程序能在用戶心裏加很多印象分。
1、優化列表的滑動速度
作爲內容創作類的app,裏面包含了大量的寫作、畫作、小說、動態等多種動態高度的樣式;列表滑動不卡頓,就成了用戶體驗的關鍵問題。
1)Autolayout自動佈局比直接計算frame消耗更多的CPU資源,所以在確定內容位置、寬高情況下最好使用frame。
2)使用線程來處理文本、尺寸計算、圖片處理等;避免卡頓主線程;
3)對於動態高度的cell,最好能提前計算好,緩存到數據模型中,減少計算高度所浪費的時間;
4)滑動過程中避免重佈局。
2、減少離屏渲染的使用
圓角、陰影、都會觸發GPU的離屏渲染,開闢新的屏幕緩衝區,渲染之後,重新切換到當前,這中間需要經過多次上下文環境的切換,只會浪費更多的GPU資源。
3、網絡優化
1)減少不必要的API請求次數,對於能本地能直接操作的,就不要去增加額外的請求次數;
如:評論動態、回覆評論、發佈動態等,這些內容都是本地可直接知道的數據,就無需再評論之後,重新拉取列表數據,再進行reload。
2)儘量減少視圖數量和層次;
對於可複用的view,很多開發者習慣抽取更多view,進行組合套裝,這樣就增加了,view視圖的深度。
4、安裝包瘦身
1)減少無用的資源(如:圖片、代碼等)
2)編譯器優化、Strip Linked Product、Make Strings Read-Only、Symbols Hidden by Default設置爲YES
去掉異常支持,Enable C++ Exceptions、Enable Objective-C Exceptions設置爲NO,Other C Flags添加-fno-exceptions