我的app启动页面是用的图片,如下图。
但是每次启动的时候,启动图片结束后会黑屏1秒左右才进入主页面,这是为什么呢?而且奇怪的是,并不是次次都黑屏,有时候又不黑屏。
光阴似箭催人老,日月如移越少年。
找到原因了,是載入的首頁在初始化的時候有一個讀取資料的操作是同步進行的,會阻塞UI線程,導致UI短暫的黑屏,把它改成異步的就對了。
懷疑是耗時太長了。
可以把 appDelegate 的didFinishLaunchingWithOptions 第一行列印一下時間戳,首頁 viewDidAppear 打一下時間戳,看兩者之差,是不是相距過長。主執行緒是不是有耗時操作了,像是讀寫資料庫、載入大檔案之類。
didFinishLaunchingWithOptions
偶發性的Bug是比較難處理的,第一個介面的ViewController在ViewAppear前做了什麼阻塞主執行緒的操作麼?如果不是可以先試試把LaunchScreen指定到一個StoryBoard檔然後將圖片鋪滿LaunchScreen
你的window的rootViewController是設定的嗎
黑屏就是你的rootVC的介面沒有顯示出來吧,或者本身是黑的或空的。建議把rootVC的view設成醒目的顏色,例如紅色,看看狀況
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];self.window.backgroundColor = [UIColor WhiteColor];self.window.rootViewController = [UIColor WhiteColor];self.window.rootViewController = 電話;Key
是不是沒有添加相對應的設備螢幕尺寸的啟動頁
啟動頁沒有加載,不要用lanuchimage,創建一個StoryBoard上鋪張圖片,就ok了
我的也出現了同樣的問題,LaunchImage顯示的,重新喚醒程式的時候頁面出來了,也是要黑的閃一下螢幕的,
找到原因了,是載入的首頁在初始化的時候有一個讀取資料的操作是同步進行的,會阻塞UI線程,導致UI短暫的黑屏,把它改成異步的就對了。
懷疑是耗時太長了。
可以把 appDelegate 的
didFinishLaunchingWithOptions
第一行列印一下時間戳,首頁 viewDidAppear 打一下時間戳,看兩者之差,是不是相距過長。主執行緒是不是有耗時操作了,像是讀寫資料庫、載入大檔案之類。偶發性的Bug是比較難處理的,第一個介面的ViewController在ViewAppear前做了什麼阻塞主執行緒的操作麼?
如果不是可以先試試把LaunchScreen指定到一個StoryBoard檔然後將圖片鋪滿LaunchScreen
你的window的rootViewController是設定的嗎
黑屏就是你的rootVC的介面沒有顯示出來吧,或者本身是黑的或空的。建議把rootVC的view設成醒目的顏色,例如紅色,看看狀況
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor WhiteColor];
self.window.rootViewController = [UIColor WhiteColor];
self.window.rootViewController = 電話;Key
是不是沒有添加相對應的設備螢幕尺寸的啟動頁
啟動頁沒有加載,不要用lanuchimage,創建一個StoryBoard上鋪張圖片,就ok了
我的也出現了同樣的問題,LaunchImage顯示的,重新喚醒程式的時候頁面出來了,也是要黑的閃一下螢幕的,