優化代碼你是從哪幾方面着手?


一、首頁啟動速度

啟動過程中做的事情越少越好(盡可能將多個接口合並)

不在UI線程上作耗時的操作(數據的處理在子線程進行,處理完通知主線程刷新節目)

在合適的時機開始后台任務(例如在用戶指引節目就可以開始准備加載的數據)

盡量減小包的大小

優化方法:

量化啟動時間

啟動速度模塊化

輔助工具(友盟,聽雲,Flurry)

二、頁面瀏覽速度

json的處理(iOS 自帶的NSJSONSerialization,Jsonkit,SBJson)

數據的分頁(后端數據多的話,就要分頁返回,例如網易新聞,或者 微博記錄)

數據壓縮(大數據也可以壓縮返回,減少流量,加快反應速度)

內容緩存(例如網易新聞的最新新聞列表都是要緩存到本地,從本地加載,可以緩存到內存,或者數據庫,根據情況而定)

延時加載tab(比如app有5個tab,可以先加載第一個要顯示的tab,其他的在顯示時候加載,按需加載)

算法的優化(核心算法的優化,例如有些app 有個 聯系人姓名用漢語拼音的首字母排序)

三、操作流暢度優化:

Tableview 優化(tableview cell的加載優化)

ViewController加載優化(不同view之間的跳轉,可以提前准備好數據)

四、數據庫的優化:

數據庫設計上面的重構

查詢語句的優化

分庫分表(數據太多的時候,可以分不同的表或者庫)

五、服務器端和客戶端的交互優化:

客戶端盡量減少請求

服務端盡量做多的邏輯處理

服務器端和客戶端采取推拉結合的方式(可以利用一些同步機制)

通信協議的優化。(減少報文的大小)

電量使用優化(盡量不要使用后台運行)

六、非技術性能優化

產品設計的邏輯性(產品的設計一定要符合邏輯,或者邏輯盡量簡單,否則會讓程序員抓狂,有時候用了好大力氣,才可以完成一個小小的邏輯設計問題)

界面交互的規范(每個模塊的界面的交互盡量統一,符合操作習慣)

代碼規范(這個可以隱形帶來app 性能的提高,比如 用if else 還是switch ,或者是用!還是 ==)

code review(堅持code Review 持續重構代碼。減少代碼的邏輯復雜度)

日常交流(經常分享一些代碼,或者邏輯處理中的坑)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM