iOS啟動時間優(yōu)化方案
之前公司的 UI 設(shè)計師和我們提過好幾次啟動時間的事情,當(dāng)時在開發(fā)業(yè)務(wù),所以沒有時間去做這件事。最近發(fā)完版本,終于有時間搞一搞啟動時間了。
一般而言,啟動時間是指從用戶點擊 APP 那一刻開始到用戶看到第一個界面這中間的時間。我們進行優(yōu)化的時候,我們將啟動時間分為 pre-main 時間和 main 函數(shù)到第一個界面渲染完成時間這兩個部分。
為什么這么劃分呢?大家都知道 APP 的入口是 main 函數(shù),在 main 之前,我們自己的代碼是不會執(zhí)行的。而進入到 main 函數(shù)以后,我們的代碼都是從
1
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
開始執(zhí)行的,所以很明顯,優(yōu)化這兩部分的思路是不一樣的。
為了方便起見,我們將 pre-main 時間成為 t1 時間,而將main 函數(shù)到第一個界面渲染完成這段時間稱為 t2 時間。
01.磨刀不誤砍柴工
我們先來看第一部分,也就是從 main 函數(shù)到第一個界面渲染完成這段時間。在開始之前,我們先來磨練一個我們自己的工具。
生活中,我們計量一段時間一般是用計時器。這里我們要想知道哪些操作,或者說哪些代碼是耗時的,我們也需要一個打點計時器。用過 profile 的朋友都知道這個工具很強大,可以使用它來分析出哪些代碼是耗時的。但是它不夠靈活,我們來看一下我們的這個計時器應(yīng)該怎么設(shè)計。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
iOS啟動時間優(yōu)化方案下載
相關(guān)電子資料下載
- iOS17.1可能明天發(fā)布,iOS17.1主要修復(fù)哪些問題? 377
- 華為全新鴻蒙蓄勢待發(fā) 僅支持鴻蒙內(nèi)核和鴻蒙系統(tǒng)應(yīng)用 719
- 蘋果手機系統(tǒng)iOS 17遭用戶質(zhì)疑 731
- iPhone12輻射超標(biāo)?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標(biāo)明年智能手機出貨7000萬部;消息稱 MiOS 僅限國內(nèi),小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機身過熱 216
- Testin云測兼容和真機服務(wù)平臺中上線iPhone 15系列手機 208
- 利爾達(dá)推出搭載HooRiiOS的Matter模組 145
- 運放參數(shù)解析:輸入偏置電流(Ibias)和失調(diào)電流(Ios) 128
- 昆侖太科發(fā)布支持國產(chǎn)飛騰騰銳D2000芯片的開源BIOS固件版本 448