应用启动白屏或者黑屏问题

参考博客:

https://juejin.im/post/58ad90518ac2472a2ad9b684

原因:


应用启动分为冷启动和热启动:

1. 冷启动:需要创建新的进程所需时间较长(从launcher启动);

2. 热启动:进程已经创建时间较短(back键,home键,应用退出,但是没有销毁)。   

当系统冷启动一个APP时,zygote进程会首先创建一个新的进程去运行这个APP,但是进程的创建是需要时间的,在创建完成之前,界面是呈现假死状态的,这就很尴尬了,因为用户会以为没有点到APP而再次点击,这极大的降低用户体验,Android需要及时做出反馈去避免这段迷之尴尬。于是系统根据你的manifest文件设置的主题颜色的不同来展示一个白屏或者黑屏。而这个黑(白)屏正式的称呼应该是Preview Window,即预览窗口

解决方法:

方案一:禁止预览窗口的出现

<item name="android:windowDisablePreview">true</item>

方案二:为预览窗口加一个背景图片

因为预览窗口的背景和第一个启动的Activity的主题背景相同,所以只需要为启动的Activity加一个背景即可

<item name="android:windowBackground"></item>

方案三:

[app冷启动缓慢出现白屏之终极解决方案—IntentService高效异步处理]

异步初始化一些东西

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容