消灭黑白屏,实现 android app“快速启动”,进行应用开发时,如果没有对app的启动页做处理,那我们的app冷启动时就会出现一个白屏或者黑屏的过程,正是这个黑白屏过程的存在会让用户感觉app启动速度慢,本篇博客中所说的“快速启动“”也正是针对这个过程进行优化以达到没有黑白屏的过程;
进行应用开发时,如果没有对app的启动页做处理,那我们的app冷启动时就会出现一个白屏或者黑屏的过程,正是这个黑白屏过程的存在会让用户感觉app启动速度慢,本篇博客中所说的“快速启动“”也正是针对这个过程进行优化以达到没有黑白屏的过程;
关于app的冷启动:
冷启动是指在进程未创建时,用户从launcher点击图标启动app的过程。在此过程中,系统需要为app创建一个进程,进程的创建和初始化是耗时的。
我们都知道activity的绘制也是需要时间的,所以android系统框架设计了一个叫做startWindow的窗口,在activity的window绘制完成之前,让startWindow显示在我们的手机屏幕上,直到activity准备完成再显示activity,前面说的黑白屏其实也就是我们app的SplashActivity绘制完成前的startWindow。
而startWindow的background与我们要启动的activity的主题中windowBackground是一样的,所以一切就变得很简单了:首先自定义theme,splashActivity一般也都是一张全屏显示的大图或者广告viewpager
另外加上将状态栏全透明化:
values-v21
values-v19
然后将自定义的主题应用给对应的activity就好了。
有一点需要注意:
true//设置activity的window为透明窗口
如果加入上面一句代码将Window设置为了透明,在桌面点击启动图标时由于绘制的startWindow是全透明的,会导致表现出app启动之前会有一段等待时间,因此不建议设置为透明窗口
以上就是对于安卓开发方面的知识点简介,消灭黑白屏,实现 android app“快速启动”,更多相关内容请继续关注拓胜科技安卓技术频道,或者需要了解拓胜安卓培训方面的问题,可以在线免费咨询拓胜教育老师。