注:本文属于 垃圾文章补完计划
近期在 Android 开发过程中发现 App 每次启动时白屏事件特别长(大概 3s),检查了首屏 Activity 与 Application 都没发现问题,并且新建了一个空的项目问题依旧,遂谷歌之,发现一大把的文章都是介绍如何把主题的白色背景色改为透明来达到显得没有白屏。
实际产生原因是新版 Android Studio 自带的 Instant Run 功能。大概解释就是 Instant Run 为了能快速运行做了一系列操作,这部分时间就体现到了启动白屏的时间上了。
那么是否我们应该关闭 Instant Run 呢?我并不推荐,诚然在 Android Studio2.0 时代这个功能一堆 bug,连页面都没法正常渲染好,那时候毫无疑问关闭了这个功能,不过现在 Instant Run 已经改进了很多了,甚至在 Android Studio3.0 发布的时候还呼吁大家重新试试,现在的体验确实不错,缩短了很多编译时间。
那么怎么解决这个白屏时间过长的问题呢?把 apk 打包成 release 版即可。
详细介绍可以阅读郭霖大神的Android 冷启动白屏解析,带你一步步分析和解决问题。我之所以又写一篇与郭霖大神内容几乎相同的短文,是希望将来其他人遇到该问题时能得到正确的原因,而不是那漫山遍野的修改 style 方案。