Activity启动黑/白屏原因与解决方式

出现情况

       最常见的就是App启动时候 加载启动页出现白屏一段时间, 给用户的感觉是非常不好的。

  加载方式

        我们在Activity的onCreate()方法中调用了setContentView()方法时候,传入了我们绘制的layout布局,也就是我们理论上应该看到的Activity布局内容,但是Android系统在启动一个新的Activity时,首先进行的并不是绘制Activity setContentView(),

一个Activity里面包含四部分, PhoneWindow、DecorView、TitleView、ContentView, 当创建Activity进行绘制时会先绘制前三个控件,这个时候ContentView还没加载进来,所以布局里什么东西都看不到,那么就出现了 黑、白屏的现象。

       解决方法

       每个App都有一个默认主题背景色, 在res资源文件下 的values文件下 styles.xml文件 ,这个里面是设置主题色 等等一些样式的。

   第一种方法:

    (1)、将主题背景变成透明的,这样在ContentView加载出来之前,我们会透过启动的Activity看到桌面,就不会有黑/白屏的现象。再把标题栏去掉,把Activity设置成全屏的,效果挺不错,缺点是如果启动的是一个有复杂耗时操作的Activity,那么会有一种延迟的感觉。

  

       (2)、将主题背景设置成一张图片,但是图片的屏幕适配问题就需要考虑了,主题里的背景图片会自动拉伸。

  

你可能感兴趣的:(android,安卓)