iOS App 效能最佳化總結

來源:互聯網
上載者:User

標籤:

       今天簡單總結一些clientapp 最佳化的方案和方向。

我相信開發一個app大部分團隊都能夠完畢,可是效能久不一樣啦,和我們都寫一個冒泡演算法一樣,我相信每一個人寫的冒泡演算法都不一樣,這些區別就帶來了效能的區別。

所以一個好的app 不止看設計。和創意 ,還要看效能。

以下我就簡單說幾點效能最佳化點:

                  

一、首頁啟動速度

 啟動過程中做的事情越少越好(儘可能將多個介面合并)

 不在UI線程上作耗時的操作(資料的處理在子線程進行,處理完通知主線程重新整理節目)

在合適的時機開始背景工作(比如在使用者指引節目就能夠開始準備載入的資料)

盡量減小包的大小

最佳化方法:

 量化啟動時間

啟動速度模組化

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


二、頁面瀏覽速度

json的處理(iOS 內建的NSJSONSerialization。Jsonkit。SBJson)

資料的分頁(後端資料多的話,就要分頁返回,比如網易新聞,或者 微博記錄)

資料壓縮(大資料也能夠壓縮返回。降低流量,加快反應速度)

內容緩衝(比如網易新聞的最新新聞列表都是要緩衝到本地,從本地載入,能夠緩衝到記憶體,或者資料庫,依據情況而定)

延時載入tab(比方app有5個tab。能夠先載入第一個要顯示的tab,其它的在顯示時候載入。按需載入)

演算法的最佳化(核心演算法的最佳化,比如有些app 有個 連絡人姓名用漢語拼音的首字母排序)


三、操作流暢度最佳化:

Tableview 最佳化(tableview cell的載入最佳化)

ViewController載入最佳化(不同view之間的跳轉。能夠提前準備好資料)


四、資料庫的最佳化:

資料庫設計上面的重構

查詢語句的最佳化

分庫分表(資料太多的時候,能夠分不同的表或者庫)


五、server端和client的互動最佳化:

client盡量降低請求

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

server端和client採取推拉結合的方式(能夠利用一些同步機制)

通訊協定的最佳化。(降低報文的大小)

電量使用最佳化(盡量不要使用後台執行)


六、非技術效能最佳化

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

介面互動的規範(每一個模組的介面的互動盡量統一,符合操作習慣)

代碼規範(這個能夠隱形帶來app 效能的提高,比方 用if else 還是switch ,或者是用!

還是 ==)

code review(堅持code Review 持續重構代碼。降低代碼的邏輯複雜度)

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


iOS App 效能最佳化總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.