分類菜單
iphone開發(fā)
培訓首頁> iphone開發(fā)培訓頭條> 要如何處理ios性能優(yōu)化

要如何處理ios性能優(yōu)化

iphone開發(fā)
發(fā)表時間:2017-09-11 4561人瀏覽

  app開發(fā)是一個循序漸進的一個過程,開發(fā)過程中功能的不斷完善是必須要做的,移動應用的開發(fā)是一個比較復雜的開發(fā),它要求開發(fā)者能夠解決數(shù)據(jù)、緩存等相關的一些app優(yōu)化的問題,本文將帶大家一起來看看ios中的一些優(yōu)化的問題,有需要的朋友可以參考一下。

  1:應用啟動時間:當應用啟動時,只加載啟動相關的資源和必須在啟動時加載的資源。

  2:本地圖片加載方式:本地圖片加載常用方法有兩種:

  (1),[uiimageimagenamed:@""]圖片多次使用時使用,需要使用此方式加入緩存

  (2),[[uiimagealloc]initwithcontentsoffile:@""]圖片不常使用時,不使用緩存

  3:盡量不要阻塞主線程,在開發(fā)中除了ui處理外,其它任務盡量放在后臺線程加載。

  4:uiview(1),如果你的view是透明的,需要設置opaque為yes。(2),使用uitableview和uicollectionview的重用,并緩存動態(tài)cell的高度。(3),延遲加載不急需要的views。(4),盡量避免代碼裁剪圖片,如果是必須的話,則需在后臺線程處理。

  5:緩存方面的話,緩存需要重復顯示的數(shù)據(jù),比如一些網(wǎng)絡的請求、圖片。

  6:在對象創(chuàng)建時避免過多消耗資源假設應用中多次使用到日期處理,將保持日期對象全局的唯 一。

  7:釋放對象(1),當arc中創(chuàng)建對象過多時,我們知道內(nèi)存是會持續(xù)的升高,這個時候在需要時添加自動釋放池釋放不需要的資源。(2),需要及時的去釋放自己開辟的內(nèi)存空間。

  8:怎樣防止循環(huán)引用?(1),可以在頭文件中盡量避免import導入頭文件,使用@class聲明類,在.m文件中#import。(2),也可以是在設置/block中使用相應的關鍵字引用對象。

  9:數(shù)據(jù)存儲:關于數(shù)據(jù)存儲它大致分plist、對象歸檔、sqlite,nsuserdefault它是適合存儲小量數(shù)據(jù),而私密信息它則是使用keychain,sqlite適合大量數(shù)據(jù),因為歸檔性能較低,盡量避免去使用。

  10:內(nèi)存警告處理:當系統(tǒng)發(fā)出內(nèi)存警告時,釋放不必要的數(shù)據(jù)的三種方式有:(1)appdelegate中實現(xiàn)applicationdidreceivememorywarninguiviewcontroller,(2)重寫didreceivememorywarning(3)注冊通知:uiapplicationdidreceivememorywarningnotification

  11:關于性能檢測靜態(tài)分析app:菜單-product-analyze是可以定位未使用的變量,內(nèi)存泄漏分析app每個操作占用時間:instruments-timeprofiler。動態(tài)分析內(nèi)存泄漏:instruments-leaks。

  app的性能優(yōu)化是一個對app完善的過程,在開發(fā)過程中應該注意什么、哪些對象可以釋放、以及數(shù)據(jù)存儲該如何去掌握,這都是需要有一定的了解的,在實踐中不斷的去研究分析,這樣才可以完成做好。


溫馨提示

個性定制課程


溫馨提示