Android 启动页白屏优化

转自:解决 Android APP 启动页白屏问题及如何实现全屏显示_android 启动白屏-CSDN博客

一、白屏原因分析
    其实,白屏现象很容易理解,在冷启动一个 APP 的时候,启动页还没完成布局文件的加载,此时显示的是 Window 窗口背景,我们看到的白屏就是 Window 窗口背景。

@Override
protected void onCreate(Bundle savedInstanceState) {
 
    super.onCreate(savedInstanceState);
    // 在加载布局之前,显示的是 window 的背景
    setContentView(R.layout.activity_launcher);
 
}

    Window 背景的是由 Application theme 决定的,通过设置 AndroidManifest.xml 文件里面 属性实现:

android:theme="@style/AppTheme"

如下所示:背景色是白色背景,启动时就会显示白屏。


    其实看到这里,我们就知道怎么来解决白屏问题了,我们可以将 Window 的背景和 APP 启动页的背景设置成一样的,从视觉体验上让用户感觉一点开 APP 显示就是启动页面

二、解决白屏方案
方案一、提供 .png 背景图

如果内容布局比较复杂,可以采用背景图片的方式,但是由于存在不同尺寸和像素密度的屏幕,可能需要提供多张不同的背景图来适配各种屏幕,以避免图片拉伸变形。
如果图片不复杂,可以采用 .9.png 图片,提供一张图片就可以适配任何手机。

方案二、使用 Layout-list 制作背景
1.  制作替代白屏的背景:bg_splash.xml



    
        
            
        
    
    
    
        
    

2. 将 bg_splash.xml 设为 Window 背景

    

3. 将 bg_splash.xml 设为启动页 Activity 的背景


    // 其他布局省略,你可以在背景布局上面添加其他内容

你可能感兴趣的:(android,启动页白屏)