闪黑屏的原因主要是 我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面。也就是说需要处理一些数据后,才会显示。
可以在Activity里面增加上面自定义的样式。另外在Application里面增加也是可以的,而且是全局效果。
自定义Theme放在 /res/values/styles.xml 里面。如果没有这个文件,自己添加一个即可。
如果存在多个Activity切换,中间也可能会存在短暂黑屏问题。原因也是Activity启动的时候需要初始化加载数据,如果想避免这种情况,可以在切换的Activity里面增加上面的样式。
上面两种样式都可以避免黑屏。可以实际测试一下程序选择一种效果。
这个只是把黑屏避免了,但是如果程序初始化启动慢,还是会给人程序启动慢的感觉。需要自行优化程序初始化过程。
很多程序都会出现这种情况吧。譬如很便宜的Android手机,在屏幕自动黑屏时,系统将如activity,context这种回收,那么就会报空指针,再一个可能就是系统内存不足,将这些回收掉了。看下错误报告能不能给这些变量trycatch下。省的程序宕掉。
手机内存小,引用程序开启多,导致反应慢