應用程序啟動原理

應用程序啟動原理

  • 程序的入口:main函數

  • 1.執行main

    • UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate class]))
      • 第三個參數:應用程序對象的名稱,如果指定為nil,就代表是@“UIApplication”
        • nil默認代表寫了一個UIApplication字符串
      • 第四個參數:Delegate的classname
        • 默認代表@@"AppDelegate"
  • 2.執行UIApplication對象

    • UIApplicationMain內部會創建UIApplication對象,并設置它的代理
    • 創建一個事件循環,主運行循環(死循環:保證應用程序一直能夠運行),保證應用程序不退出
    • 加載配置文件,讀取配置信息
    • 讀取info.plist文件時,會做很多判斷,其中包括一項Main storyboard file base name 有沒有指定main
    • 如果指定,就會加載main.storyboard顯示出來,如果沒有指定main,就什么都不去做
    • 讀取完畢后,會通知應用的代理,應用程序啟動完畢,就會調用application的didFinishLaunchWithOptions:
  • 在加載info.plist后,判斷下是否指定main,如果指定了,就會去加載StoryBoard.

    • 1.創建一個窗口
    • 2.加載MainStoryBoard,初始化一個控制器.
    • 3.把初始化出來的控制器設置為窗口的根控制器.讓窗口顯示到屏幕上.
  • 如果沒有指定Mian話, 那這個時候就需要我們手動的去創建窗口.

  • 當info.plist文件沒有找到的時候,那么程序就加載完畢,那么在程序加載完畢時要自己手動去創建窗口.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容