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

在启动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>

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

猜你喜欢

转载自blog.csdn.net/snailpeople/article/details/72377413