iOS_缩短app启动时间的一些见解

加速启动时间。快速打开app是很重要的,特别是用户第一次打开它时,对app来讲,第一印象太太太重要了。


之前搜过一些关于启动时间的文章, 发现只能边长, 但不能变短,

也就是说, 通过代码, 我们是控制不了他的启动时间的, 

想要缩短启动时间就只能减少在这段时间里 需要做的事情


那么首先 我们来看看 在这段时间里,  程序都做了些什么:

Info.plist

pch 文件

main 函数

UIApplication和delegate

UIWindow

 这是目前我所知道的,  可能不全

在这基础上, 我们能够控制的了 的就是 appDelegate 了, 还有就是pch里导入的头文件尽可能少

 也就是说尽可能的少在appDelegate 里写东西

尽可能的使热启动(应用已经在后台运行,某个事件将其带至前台)时间无限的接近冷启动(完全没有运行的应用的启动时间)时间


你能做的就是使它尽可能做更多的异步任务,比如加载远端或者数据库数据,解析数据。避免过于庞大的XIB,因为他们是在主线程上加载的。所以尽量使用没有这个问题的Storyboards吧!一定要把设备从Xcode断开来测试启动速度


以下是Facebook 工程师的解决方案

  • 通过分析,删除第一次网络请求之前不必要的依赖项,仅保留所必需的有效身份验证令牌和订阅游标; 
  • 借助一种他们称之为UDP priming的技术减少建立安全TCP连接(需要三次服务器往返通信)的时间。简单来说,应用会向服务器发送一个加密过的UDP数据包,其中包含订阅请求。这可以提示服务器将会有一个真正的TCP请求到达,那样服务器就可以提前获取和缓存数据。



你可能感兴趣的:(iOS_缩短app启动时间的一些见解)