一個(gè)應(yīng)用的優(yōu)化可能是無底洞的東西遮婶,隨著掌握知識(shí)的增多、靈活亦或參考別人的思想湖笨,你可能會(huì)發(fā)現(xiàn)有更好的方法來優(yōu)化應(yīng)用旗扑。或者到了已經(jīng)需要重構(gòu)的地步了(香菇慈省,藍(lán)瘦)臀防。
可以優(yōu)化的方面有很多,例如
一边败、操作流暢度的優(yōu)化
二袱衷、頁面瀏覽速度優(yōu)化
三、首頁啟動(dòng)速度優(yōu)化
四笑窜、數(shù)據(jù)庫的優(yōu)化
五致燥、服務(wù)器端和客戶端的交互優(yōu)化
六、非技術(shù)性能優(yōu)化
等等...
一排截、操作流暢度的優(yōu)化
Tableview 優(yōu)化(tableviewCell的加載優(yōu)化)
CollectionView優(yōu)化(collectionViewCell的加載優(yōu)化)
ViewController加載優(yōu)化(不同view之間的跳轉(zhuǎn)嫌蚤,可以提前準(zhǔn)備好數(shù)據(jù))
二、頁面瀏覽速度優(yōu)化
json的處理(iOS 自帶的NSJSONSerialization)
數(shù)據(jù)的分頁(后端數(shù)據(jù)多的話匾寝,就要分頁返回)
內(nèi)容緩存(例如網(wǎng)易新聞的最新新聞列表都是要緩存到本地搬葬,從本地加載,可以緩存到內(nèi)存艳悔,或者數(shù)據(jù)庫急凰,根據(jù)情況而定)
延時(shí)加載tab(比如app有5個(gè)tab,可以先加載第一個(gè)要顯示的tab,其他的在顯示時(shí)候加載抡锈,按需加載)
算法的優(yōu)化(核心算法的優(yōu)化疾忍,例如有些app 有個(gè) 聯(lián)系人姓名用漢語拼音的首字母排序)
三、首頁啟動(dòng)速度優(yōu)化
啟動(dòng)過程中做的事情越少越好
不在UI線程上作耗時(shí)的操作(數(shù)據(jù)的處理在子線程進(jìn)行床三,處理完通知主線程刷新)
四一罩、數(shù)據(jù)庫的優(yōu)化
查詢語句的優(yōu)化
分庫分表(數(shù)據(jù)太多的時(shí)候,可以分不同的表或者庫)
五撇簿、服務(wù)器端和客戶端的交互優(yōu)化:
客戶端盡量減少請(qǐng)求
服務(wù)端盡量做多的邏輯處理
六聂渊、非技術(shù)性能優(yōu)化
產(chǎn)品設(shè)計(jì)的邏輯性
界面交互的規(guī)范(每個(gè)模塊的界面的交互盡量統(tǒng)一,符合操作習(xí)慣)
代碼規(guī)范
日常交流
...