Android App开发笔记系列之SplashActivity

本系列文章是我的项目“小亚”开发完成之后的一些开发心得,现与大家一起分享,如有错误的地方,请大神指正
在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


Splash_bg.jpg

第三步:在SplashActivity中实现数据初始化并跳转到MainActivity
public class SplashActivity extends AppCompatActivity{ protected void onCreate(Bundle savedInstanceState) { setTheme(R.style.AppTheme); super.onCreate(savedInstanceState); //数据初始化 //加载广告 //跳转到MainActivity } }
记得在SplashActivity中调用setTheme的代码,设置没有背景的其它主题。不然你app的内存会一起偏高

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,774评论 25 709
  • 【触发背景】面对海量APP的今天,APP用户量和活跃度成为评价一款APP是否成功的重要因素。用户下载APP后,AP...
    siyu8023阅读 10,403评论 1 14
  • 转载http://www.cnblogs.com/xunzhi/p/5794793.html 一、应用的启动方式 ...
    聪_0b56阅读 1,248评论 0 0
  • 云海延绵一线天, 斜阳西下云水间; 风轻拂面迷离醉, 海阔天高独自欢。
    月夜秋荷阅读 158评论 1 3