如果需要更詳細的資訊,那就將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
關於load
和initialize
可參考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...