Android Activity 启动出现白屏带标题或闪屏问题解决

当你打开一个App时其实就是打开了一个activity,如果这个Activity所属的应用还没有在运行,那么系统会为这个Activity所属的应用创建一个进程,创建进程是需要时间的,从而导致了白屏或黑屏的出现。

带标题可能是设置了自定义标题

或者设置了Theme 属性 false

@Override
protected void onCreate( Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.family_number);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
}

第一种处理方式:

设置Theme窗口背景windowBackground,通过以Splash的形式出现,作为启动图片

注意:如果在Activity里做的操作处理任务比较多,可能还是会出现白屏或者闪屏现象

第二种处理方式:

在第一种的基础上定义一个SplashActivity过渡加载跳转到主界面Activity


    


public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_splash);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                startActivity(new Intent(SplashActivity.this, MainActivity.class));
                finish();
            }
        }, 1500);
    }
}

第三种处理方式:

通过设置Theme android:windowIsTranslucent属性设置为true,背景透明属性

注意:这样设置出现问题,跳转或切换页面的动画效果失效了

解决:自己定义一个窗口动画样式 android:windowAnimationStyle


    
    

anim_fade_in.xml


anim_fade_out.xml


你可能感兴趣的:(Android常见问题集)