欢迎屏幕页面简介
飞溅屏幕页面,我们手机上的所有应用程序几乎都有自己的飞溅屏幕。也就是说,在实际进入程序之前,一页会停止几秒钟。事实上,在这几秒钟里,我们可以充分利用很多程序来初始化启动。
宣言
为什么我的app启动可以是白色屏幕或黑屏?
有时候我们发现,启动自己的APP时,总是有白色屏幕(黑屏),白色屏幕(黑屏)过后才能进入APP。(威廉莎士比亚。哈姆雷特。)那为什么呢?
模拟效果
现在让我们模拟一下白色屏幕的效果。
20190522-打开飞溅。gif
打开应用程序时,可以看到白屏出现。当然,这个演示应用程序没有那么复杂。所以为了达到这个效果,我睡在了应用程序上。(大卫亚设)。
@Override
Public void onCreate() {
();
MyApplication=this
Try {
t(2000);
} catch (InterruptedException e) {
e . printstacktrace();
}
}
这样会出现这种白屏的效果,所以可以得出结论:如果程序很复杂,很多初始化都放在应用程序中完成,这时第一次打开程序需要很长时间,而且会出现白屏效果。
因此,此程序在打开Activity时,如果此Activity所属的应用程序尚未运行,则首先为此Activity创建进程,在创建进程时调用Application的onCreate方法。流程生成和onCreate内部初始化需要时间,如果这个时间太长,没有任何反应,对用户来说是不知道的,用户认为自己没有到达,所以很明显,在原来的页面上等待加载是不可能的。这时会出现StartingWindow(PerviewWindow)。StartingWindow是在应用程序进程完成创建和初始化之前出现的临时窗口。相应的WindowType是TYPE_APPLICATION_STARTING,通知用户系统已在接收任务,正在初始化程序,初始化完成后将删除
所以我们看到的白色屏幕或黑色屏幕是StartingWindow,为什么是白色或黑色呢?我们通常在我们的应用程序和活动中设置Theme,系统根据我们设置的Theme确定StartingWindow的颜色。我们都知道窗口布局的顶部是DecorView,StaringWindow显示空的DecorView,但此DecorView应用了我们的Activity指定的Theme。如果我们的基本Theme是@ android3360 style,这时就会出现白屏。黑屏采用了@ android:style。好了,现在知道为什么会出现白屏或黑屏了。顺便说一下,活动安排的绘图顺序:
背景绘制View本身的内容绘制子View绘制修饰内容(如滚动条),解决黑白屏幕问题
上面我们已经知道为什么会出现这个问题。那么解决就简单了。起始页的风格加上一个背景就可以了。这样可以达到超开放的效果。
style name=' splash them ' parent=' apptheme '
itemname=' Android 3360 window background ' @ drawble/splash/item
itemname=' Android : windwofullscreen ' true/item
/style
设定的这个背景和我的起始页相匹配就可以了!
个人号码。png
1.《【ap黑屏是怎么回事】APP启动白屏黑屏故障排除》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【ap黑屏是怎么回事】APP启动白屏黑屏故障排除》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/3042372.html