ios app 加载完启动图时黑屏一秒钟

我在appdelegate中加载首页前有个网络请求,是AFN的get请求,这个时候启动图加载完只要执行网络请求的时候就会黑屏一会才进入首页。分析了一下是网络请求阻塞了主线程,导致首页没加载出来黑屏了。怎么都觉得异步的不行呀,我觉得同步的还行,只是没有试。奇葩的需求,为什么要在appdelegate中进行网络请求呢?

首先试错:

问题出现可能性。

1.首页的多了异步请求跟初始化的请求不知道谁最先执行(切断首页的一切请求,还是不行,取掉首页的列表的创建可以避免黑屏,带入歧途,用代码创建所有视图,试图从列表的创建解决问题,未果)。                  

  2. 把请求放在一个队列当中,控制队列的执行顺序,又失败,原因不详。

 解决办法:                          

用最笨的办法解决。就是把初始化放在首页,保证在其他请求的前面执行,有个缺点就是太多的异步请求完了都得刷新界面,怎么办,(把其他请求放在初始化请求的成功里面执行,并通过再主线程中刷新界面来保证多个异步请求会在子线程中进行,开启主线程只能来刷新界面,始终不给其他请求枪战主线程资源提供机会)。结果可想而知。

 

  这个过程告诉我,只要不是杀头的需求,经过时间的想办法,一定能解决。

 

你可能感兴趣的:(启动图,黑屏一秒钟,coder)