一宏蛉、首頁啟動速度
啟動過程中做的事情越少越好(盡可能將多個接口合并)
不在UI線程上作耗時的操作(數(shù)據(jù)的處理在子線程進(jìn)行龄毡,處理完通知主線程刷新節(jié)目)
在合適的時機(jī)開始后臺任務(wù)(例如在用戶指引節(jié)目就可以開始準(zhǔn)備加載的數(shù)據(jù))
盡量減小包的大小
優(yōu)化方法:
量化啟動時間
啟動速度模塊化
輔助工具(友盟黄鳍,聽云寻馏,F(xiàn)lurry)
二蛤育、頁面瀏覽速度
json的處理(iOS 自帶的NSJSONSerialization,Jsonkit媒咳,SBJson)
數(shù)據(jù)的分頁(后端數(shù)據(jù)多的話,就要分頁返回种远,例如網(wǎng)易新聞涩澡,或者 微博記錄)
數(shù)據(jù)壓縮(大數(shù)據(jù)也可以壓縮返回,減少流量坠敷,加快反應(yīng)速度)
內(nèi)容緩存(例如網(wǎng)易新聞的最新新聞列表都是要緩存到本地妙同,從本地加載,可以緩存到內(nèi)存膝迎,或者數(shù)據(jù)庫渐溶,根據(jù)情況而定)
延時加載tab(比如app有5個tab,可以先加載第一個要顯示的tab弄抬,其他的在顯示時候加載茎辐,按需加載)
算法的優(yōu)化(核心算法的優(yōu)化,例如有些app 有個 聯(lián)系人姓名用漢語拼音的首字母排序)
三掂恕、操作流暢度優(yōu)化:
Tableview 優(yōu)化(tableview cell的加載優(yōu)化)
ViewController加載優(yōu)化(不同view之間的跳轉(zhuǎn)拖陆,可以提前準(zhǔn)備好數(shù)據(jù))
四、數(shù)據(jù)庫的優(yōu)化:
數(shù)據(jù)庫設(shè)計上面的重構(gòu)
查詢語句的優(yōu)化
分庫分表(數(shù)據(jù)太多的時候懊亡,可以分不同的表或者庫)
五依啰、服務(wù)器端和客戶端的交互優(yōu)化:
客戶端盡量減少請求
服務(wù)端盡量做多的邏輯處理
服務(wù)器端和客戶端采取推拉結(jié)合的方式(可以利用一些同步機(jī)制)
通信協(xié)議的優(yōu)化。(減少報文的大械暝妗)
電量使用優(yōu)化(盡量不要使用后臺運(yùn)行)
六速警、非技術(shù)性能優(yōu)化
產(chǎn)品設(shè)計的邏輯性(產(chǎn)品的設(shè)計一定要符合邏輯,或者邏輯盡量簡單鸯两,否則會讓程序員抓狂闷旧,有時候用了好大力氣,才可以完成一個小小的邏輯設(shè)計問題)
界面交互的規(guī)范(每個模塊的界面的交互盡量統(tǒng)一钧唐,符合操作習(xí)慣)
代碼規(guī)范(這個可以隱形帶來app 性能的提高忙灼,比如 用if else 還是switch ,或者是用钝侠!還是 ==)
code review(堅持code Review 持續(xù)重構(gòu)代碼该园。減少代碼的邏輯復(fù)雜度)