【轉(zhuǎn)載】iOS App 性能優(yōu)化總結(jié)

【轉(zhuǎn)載】iOS App 性能優(yōu)化總結(jié) - lanyayue - 博客園

var currentBlogApp = 'lanyayue', cb_enable_mathjax=false;var isLogined=false;

新聞

[新隨筆

[管理

【轉(zhuǎn)載】iOS App 性能優(yōu)化總結(jié)

一、首頁(yè)啟動(dòng)速度

啟動(dòng)過(guò)程中做的事情越少越好(盡可能將多個(gè)接口合并)

不在UI線程上作耗時(shí)的操作(數(shù)據(jù)的處理在子線程進(jìn)行,處理完通知主線程刷新節(jié)目)

在合適的時(shí)機(jī)開(kāi)始后臺(tái)任務(wù)(例如在用戶指引節(jié)目就可以開(kāi)始準(zhǔn)備加載的數(shù)據(jù))

盡量減小包的大小

優(yōu)化方法:

量化啟動(dòng)時(shí)間

啟動(dòng)速度模塊化

輔助工具(友盟,聽(tīng)云,F(xiàn)lurry)

二、頁(yè)面瀏覽速度

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

數(shù)據(jù)的分頁(yè)(后端數(shù)據(jù)多的話,就要分頁(yè)返回,例如網(wǎng)易新聞,或者 微博記錄)

數(shù)據(jù)壓縮(大數(shù)據(jù)也可以壓縮返回,減少流量,加快反應(yīng)速度)

內(nèi)容緩存(例如網(wǎng)易新聞的最新新聞列表都是要緩存到本地,從本地加載,可以緩存到內(nèi)存,或者數(shù)據(jù)庫(kù),根據(jù)情況而定)

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

算法的優(yōu)化(核心算法的優(yōu)化,例如有些app 有個(gè) 聯(lián)系人姓名用漢語(yǔ)拼音的首字母排序)

三、操作流暢度優(yōu)化:

Tableview 優(yōu)化(tableview cell的加載優(yōu)化)

ViewController加載優(yōu)化(不同view之間的跳轉(zhuǎn),可以提前準(zhǔn)備好數(shù)據(jù))

四、數(shù)據(jù)庫(kù)的優(yōu)化:

數(shù)據(jù)庫(kù)設(shè)計(jì)上面的重構(gòu)

查詢語(yǔ)句的優(yōu)化

分庫(kù)分表(數(shù)據(jù)太多的時(shí)候,可以分不同的表或者庫(kù))

五、服務(wù)器端和客戶端的交互優(yōu)化:

客戶端盡量減少請(qǐng)求

服務(wù)端盡量做多的邏輯處理

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

通信協(xié)議的優(yōu)化。(減少報(bào)文的大小)

電量使用優(yōu)化(盡量不要使用后臺(tái)運(yùn)行)

六、非技術(shù)性能優(yōu)化

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

界面交互的規(guī)范(每個(gè)模塊的界面的交互盡量統(tǒng)一,符合操作習(xí)慣)

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

code review(堅(jiān)持code Review 持續(xù)重構(gòu)代碼。減少代碼的邏輯復(fù)雜度)

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,917評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,172評(píng)論 4 61
  • 三十天前,有幸參加了系統(tǒng)組建的30天孵化營(yíng)活動(dòng),短短的三十天,系統(tǒng)內(nèi)老師們的熱情與付出,讓我這個(gè)新加入平臺(tái)內(nèi)的菜鳥(niǎo)...
    鏡心源閱讀 462評(píng)論 0 1
  • 我家有個(gè)“樊勝美”我該怎么辦 講述者松濤記者劉冰 岳父岳母重男輕女,妻子比《歡樂(lè)頌》里的“樊勝美”還要可憐,身為丈...
    花香四溢rene閱讀 799評(píng)論 0 2
  • 猴年如期而至,祝福接著送上??鞓?lè)日漸增長(zhǎng),幸福情深意長(zhǎng)。健康一如既往,平安地久天長(zhǎng)。新年更新萬(wàn)象,精彩天天點(diǎn)亮。祝...
    心草閱讀 298評(píng)論 0 0

友情鏈接更多精彩內(nèi)容