App启动画面问题

来源:互联网 发布:linux terminal 命令 编辑:程序博客网 时间:2024/05/16 09:11

近期有个新的项目要开发,于是将原有项目的基础框架拷贝了一份,想着在新的app里进行一些优化。
在做splash界面的时候,发现点击桌面图标后,需要等待大概3秒才有反应。
开始以为是启动的时候加载的内容太多造成,于是进行各种最小化测试,索性删除所有的加载类,甚至删除了自定义的application类。
但似乎都不起作用,无意中发现AppTheme的定义中,基本的application中主题定义中有如下内容:

 <item name="android:windowIsTranslucent">true</item> <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item> <item name="android:activityCloseExitAnimation">@anim/slide_out_right</item>

这才焕然大悟,之前的项目中使用了左滑关闭的功能,对所有的activity都应用了这个主题。
所以点击桌面图标的时候,其实app的splash界面已经启动,只是透明了。
删除这段样式定义,问题解决。
还有关于splash启动界面的优化问题,我之前的文章中已经讲过了,可以往前找一下。
这里也简单说一下吧,就是splash的activity不设置任何布局,也就是在oncreate方法中不调用setContentView方法。然后给activity设置如下的theme。

<style name="AppTheme.Splash" parent="AppTheme"><!--Theme.AppCompat.NoActionBar-->       <item name="android:windowBackground">@drawable/splash_background</item></style>

其中splash_background就是一张图片,用作splash启动页面。