iOS最全效能優化 上

2021-07-10 11:45:05 字數 1685 閱讀 8624

ios最全效能優化(上)

ios最全效能優化(中)

ios最全效能優化(下)

我要給出的建議將分為三個不同的等級: 入門級、 中級和高階級:

1. 用arc管理記憶體

2. 在正確的地方使用reuseidentifier

3. 盡可能使views透明

4. 避免龐大的xib

5. 不要block主線程

6. 在image views中調整大小

7. 選擇正確的collection

8. 開啟gzip壓縮

9. 重用和延遲載入views

10. cache, cache, 還是cache!

11. 權衡渲染方法

12. 處理記憶體警告

13. 重用大開銷的物件

14. 使用sprite sheets

15. 避免反覆處理資料

16. 選擇正確的資料格式

17. 正確地設定background images

18. 減少使用web特性

19. 設定shadow path

20. 優化你的table view

21. 選擇正確的資料儲存選項

無需贅述,讓我們進入正題吧~

初學者效能提公升

這個部分致力於一些能提高效能的基本改變。但所有層次的開發者都有可能會從這個記錄了一些被忽視的專案的小小的效能備忘錄裡獲得一些提公升。

1.用arc管理記憶體

2.在正確的地方使用 reuseidentifier

3.盡量把views設定為不透明

4. 避免過於龐大的xib

如果你不得不xib的話,使他們盡量簡單。嘗試為每個controller配置乙個單獨的xib,盡可能把乙個view controller的view層次結構分散到單獨的xib中去。

需要注意的是,當你載入乙個xib的時候所有內容都被放在了記憶體裡,包括任何。如果有乙個不會即刻用到的view,你這就是在浪費寶貴的記憶體資源了。storyboards就是另一碼事兒了,storyboard僅在需要時例項化乙個view controller.

當你載入乙個引用了或者聲音資源的nib時,nib載入**會把和聲音檔案寫進記憶體。在os x中,和聲音資源被快取在named cache中以便將來用到時獲取。在ios中,僅資源會被存進named caches。取決於你所在的平台,使用nsimage 或uiimage 的imagenamed:方法來獲取資源。

5. 不要阻塞主線程

+ (void)sendasynchronousrequest:(nsurlrequest *)request queue:(nsoperationqueue *)queue completionhandler:(void (^)(nsurlresponse*, nsdata*, nserror*))handler

6. 在image views中調整大小

7. 選擇正確的collection

學會選擇對業務場景最合適的類或者物件是寫出能效高的**的基礎。當處理collections時這句話尤其正確。

8. 開啟gzip壓縮

問題是我們的目標是移動裝置,因此你就不能指望網路狀況有多好。乙個使用者現在還在edge網路,下一分鐘可能就切換到了3g。不論什麼場景,你肯定不想讓你的使用者等太長時間。

iOS最全效能優化 上

ios最全效能優化 上 ios最全效能優化 中 ios最全效能優化 下 我要給出的建議將分為三個不同的等級 入門級 中級和高階級 1.用arc管理記憶體 2.在正確的地方使用reuseidentifier 3.盡可能使views透明 4.避免龐大的xib 5.不要block主線程 6.在image ...

效能優化 iOS

如果需要更詳細的資訊,那就將dyld print statistics details設定為1 2.1關於dyld 用machoview 檢視載入過程如上圖 備註1 如果設定了 dyld print libraries,或者選中run diagnostics 下面的 dynamic library ...

socket效能優化 上

socket效能優化 上 2012年01月01日 b socket效能優化 b m.tim jones 資深軟體工程師,emulex 使用 sockets api,我們可以開發客戶機和伺服器應用程式,它們可以在本地網路上進行通訊,也可以通過 internet 在全球範圍內進行通訊。與其他 api 一...