前言:每次APP开发完第一次运行的时候都会让人特别
,会有一小段时间空白。最近查阅了一下具体原因,搜索到了一个关键字:冷启动
一:字段解释
冷启动:
观察app的启动流程,当APP第一次启动时(既不处于后台时)肯定是加载application,再就是主Activity,这就是所谓的的冷启动。
二:寻找原因
对比热启动,发现热启动不会存在空白的问题,所谓的热启动是指app已处于后台,不需要加载application,他有存在activity运行。这又是为什么呢?研究application生命周期发现,它并不是主要原因,那么只有一个可能:Activity加载延时在activity的各个生命周期中加上Log打印发现Activity中setContentView()方法花的时间是造成空白的原因三:解决方法
在activity的super调用前,用流资源方式加载过渡的图片,设置到window的背景中去