本系列文章是我的项目“小亚”开发完成之后的一些开发心得,现与大家一起分享,如有错误的地方,请大神指正
在Android开发中我们经常会把一个SplashActivity作为应用的入口,实现App欢迎页,App数据初始化,App的快速响应等功能。下面聊聊App的快速启动。
大家都知道:默认情况下,Android App在点击App logo到App完全启动这之间会有一段时间空白期,具体wait时间根据你应用而定。那么如何做到在用户点击logo图标之后立即打开App的界面而不是一段白屏或黑屏呢?你可以给SplashActivity设置background。具体做法如下:
第一步:在style.xml添加以下代码:
<style name="AppTheme.Launcher.BG" parent="Theme.AppCompat.Light.NoActionBar.FullScreen"> <item name="android:windowBackground">@mipmap/app_launcher_bg</item> <item name="android:windowAnimationStyle">@style/fade</item> </style>
定义的AppTheme.Launcher.BG继承自Theme.AppCompat.Light.NoActionBar.FullScreen是为了让她实现全屏,其中的android:windowBackground则是你想在app启动时显示的图片了,而android:windowAnimationStyle则是SplashActivity的动画,这个自己实现了。
第二步:在AndroidManifest.xml中为SplashActivity设置theme
第三步:在SplashActivity中实现数据初始化并跳转到MainActivity
public class SplashActivity extends AppCompatActivity{ protected void onCreate(Bundle savedInstanceState) { setTheme(R.style.AppTheme); super.onCreate(savedInstanceState); //数据初始化 //加载广告 //跳转到MainActivity } }
记得在SplashActivity中调用setTheme的代码,设置没有背景的其它主题。不然你app的内存会一起偏高