簡單的app啟動優(yōu)化:
思路:
優(yōu)化啟動時間的時候谤辜,把app分為三部分趋惨。讓用戶能快速的看到頁面邑跪。這樣給用戶的感覺就很快粉铐。
第一部分:必須寫在didFinishLaunchingWithOptions中
(在此方法中給一些不是特別重要的部分藐吮,放在子線程中去執(zhí)行溺拱。)
第二部分:app在加載廣告圖的時機。做一些處理操作谣辞。
第三部分:app進(jìn)入到主頁的時機迫摔。
為了日后app不停的擴展,我們不妨把啟動事情放在一個單獨的工具類DelayStartupTool
中泥从。
為了讓tool看起來清晰句占,不妨再給它寫個分類,調(diào)用的方法寫在分類中躯嫉。Demo下載鏈接
核心方法如下:
/**
* 啟動伴隨 didFinishLaunchingWithOptions 啟動的事件.
* 啟動類型為:日志 / 統(tǒng)計等需要第一時間啟動的.
*/
+ (void)startupEventsOnAppDidFinishLaunchingWithOptions;
/**
* 啟動可以在展示廣告的時候初始化的事件.
* 啟動類型為: 用戶數(shù)據(jù)需要在廣告顯示完成以后使用, 所以需要伴隨廣告頁啟動.
*/
+ (void)startupEventsOnADTime;
/**
* 啟動在第一個界面顯示完(用戶已經(jīng)進(jìn)入主界面)以后可以加載的事件.
* 啟動類型為: 比如直播和分享等業(yè)務(wù), 肯定是用戶能看到真正的主界面以后才需要啟動, 所以推遲到主界面加載完成以后啟動.
*/
+ (void)startupEventsOnDidAppearAppContent;
下面是一些分析程序啟動過程的纱烘、
iOS程序啟動->dyld加載->runtime初始化(初識)
1.Mach-O 可執(zhí)行文件
3.iOS 程序 main 函數(shù)之前發(fā)生了什么
未完待續(xù)~~~~