效能優化 iOS

2022-06-14 15:06:09 字數 1297 閱讀 3873

如果需要更詳細的資訊,那就將dyld_print_statistics_details設定為1

2.1關於dyld

用machoview (檢視載入過程如上圖

( 備註1: 如果設定了 dyld_print_libraries,或者選中run/diagnostics 下面的 dynamic library loads 那麼 dyld將會列印出什麼庫被載入了

​ 備註2:dyld_print_statistics_details 列印啟動時間

​ 備註3:dyly還可以抽取蘋果原生庫 方法: 1: launch-cache/dsc_extractor.cpp檔案中 把#if(0) 以及之前的都刪除,#endif也刪除 2:編譯clang++ -o dsc_extractor dsc_extractor.cpp 生成可執行檔案 3:./dsc_extractor dyld_shared_cache_armv7s armv7s 進行抽取 )

2.2 runtime

關於loadinitialize可參考ios中load和initialize一文詳細分析

2.3main函式執行後

總結:​ 按照不同的階段

在不影響使用者體驗的前提下,盡可能將一些操作延遲,不要全部都放在finishlaunching方法中 按需載入

不使用xib,直接視用**載入首頁檢視

nsuserdefaults實際上是在library資料夾下會生產乙個plist檔案,如果檔案太大的話一次能讀取到記憶體中可能很耗時,這個影響需要評估,如果耗時很大的話需要拆分(需考慮老版本覆蓋安裝相容問題)

每次用nslog方式列印會隱式的建立乙個calendar,因此需要刪減啟動時各業務方打的log,或者僅僅針對內測版輸出log

梳理應用啟動時傳送的所有網路請求,是否可以統一在非同步執行緒請求

1、安裝包(ipa)主要由可執行檔案、資源組成

採取無失真壓縮

去除沒有用到的資源: 

2、 可執行檔案**

2.1 編譯器優化

(檢測未使用的**:選單欄 -> code -> inspect code

2. 3編寫llvm外掛程式檢測出重複**、未被呼叫的**

2.4 生成linkmap檔案,可以檢視可執行檔案的具體組成

2.5 可借助第三方工具解析linkmap檔案: 

3.1、cpu 和gpu

3.2優化方向

3.3、離屏渲染

離屏渲染消耗效能的原因

哪些操作會觸發離屏渲染?

一、查詢洩漏點 (兩種工具)

網路優化

定位優化

iOS效能優化 TableView

下面介紹一些我們可以自己設定的新能優化 1 盡量不透明的檢視 不透明檢視可以極大提高渲染的速度.因此如果可以,將 cell 及其子檢視的 opaque 屬性設定為 yes 預設值 cell 的 backgroundcolor 的 apha 值應為1 不要使用 clearcolor 影象的 apha ...

iOS 效能優化收集

ios 效能除錯 instrument instrument之core animation工具 避免圖層混合 確保控制項的opaque屬性設定為true,確保backgroundcolor和父檢視顏色一致且不透明 如無特殊需要,不要設定低於1的alpha值 確保uiimage沒有alpha通道 避免...

iOS效能優化技巧

通過靜態 analyze 工具,以及執行時 profile 工具分析效能瓶頸,並進行效能優化。結合本人在開發中遇到的問題,可以從以下幾個方面進行效能優化。一 view優化1 不透明的view 設定為opaque。2 根據實際情況重用 延遲載入或預載入view。3 減少subviews數量,定製複雜c...