3.特别说明
本文就不聊zygote创建进程运行app的那一堆原理来班门弄斧了,只谈一谈解决问题最简单的方法,对原理有兴趣的可以自行翻阅【参考文献】中的相关文档。
4.解决思路
通过给activity指定带有window背景的theme来避免白屏(设置window背景)
优点 | 缺点 | |
---|---|---|
设置window背景 | 能够快速解决显示白屏问题 | 可能会引起背景图拉伸问题 |
5.快速解决方案
创建一个style,清单文件里单独给启动页的theme设置为该style,代码如下:
_@drawable/bg_splash_snow_改为你自己的背景图
启动页activity 的 onCreate 方法回调中,将window的背景图置空,代码如下:
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
window.setBackgroundDrawable(null)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash)
}
}
看下