android activtiy 启动白屏原因还有解决方法

本文解释了Android应用启动时出现白屏的原因,并提供了两种解决方案:一是通过设置主题中的windowBackground来改善用户体验;二是禁用previewWindow以减少启动延迟感。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在启动android 程序的时候,经常会遇到启动的时候屏幕会显示白色的内容,原因是:


Android中Activity启动的时候实际上创建了两个Window对象,第一个叫做PreviewWindow,是为了避免真正的窗口没有及时加载出来,但是又不想让用户等待才引入了这个window,这个window什么也不做,只是显示一个背景图,当你的activity加载很慢的时候就会显示这个window对象,所以你会感觉有一个黑屏或者白屏的过程,第二个才是真正的你的Activity的Window对象。activity在执行setcontentview()以前,都是显示的PreviewWindow,当你的layout加载完毕,才会显示你的layout的界面。


解决方法:

  1. 在主题中设置windowBackground,这个背景将被同时用在启动时的两个window对象上,这样一来previewWindow显示的时候就会直接显示你的背景图,会给人一种启动很快的感觉。但是这样会感觉加载不同步的感觉。

  2. 去掉previewWindow:在主题中加入
    <item name="android:windowDisablePreview">true</item>

    但是这样你的程序必须加载速度够快,否则会有一种反应过慢的感觉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值