我的app启动页面是用的图片,如下图。
但是每次启动的时候,启动图片结束后会黑屏1秒左右才进入主页面,这是为什么呢?
而且奇怪的是,并不是次次都黑屏,有时候又不黑屏。
我的app启动页面是用的图片,如下图。
但是每次启动的时候,启动图片结束后会黑屏1秒左右才进入主页面,这是为什么呢?
而且奇怪的是,并不是次次都黑屏,有时候又不黑屏。
怀疑是耗时太长了。
可以把 appDelegate 的didFinishLaunchingWithOptions
第一行打印一下时间戳,首页 viewDidAppear 打一下时间戳,看两者之差,是不是相距过长。主线程是不是有耗时操作了,比如读写数据库、加载大文件之类。
偶发性的Bug是比较难处理的,第一个界面的ViewController在ViewAppear前做了什么阻塞主线程的操作么?
如果不是可以先试试把LaunchScreen指定到一个StoryBoard文件然后将图片铺满LaunchScreen
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = XXX;
[self.window makeKeyAndVisible];
1 回答1.3k 阅读
1 回答1.2k 阅读
1 回答1.1k 阅读
1 回答717 阅读
1 回答776 阅读
971 阅读
1 回答557 阅读✓ 已解决
找到原因了,是加载的首页在初始化的时候有一个读取数据的操作是同步进行的,会阻塞UI线程,导致UI短暂的黑屏,把它改成异步的就对了。