一种Android闪屏页实现方法

2016-03-25  本文已影响6337人  王增辉

为什么会有闪屏页

记得很久之前,那时候android手机才刚刚出来,我们学校工作室里手机游戏开发相关的还更多的是window phone,可能很多人没有见过,就是跟电脑一样有开始菜单那种。那时候工作室是跟韩国一家游戏公司合作成立的,有一款音乐播放软件需要移植到IOS设备上,说来也奇怪,当时觉得还特别正常的一件事,iPhone本身是有滑动解锁的,但是我们的App上居然也有一个启动页面需要解锁,现在来看这是多么傻的一个设计啊,不过那时候觉得滑动一下就解锁了,好炫酷。。。

个人觉得闪屏目前还存在有几个原因:

就我待过的团队来看,可能因为量级不够吧目前做闪屏页的方式都没有涉及到推广活动放广告,不过像微博啊 新闻资讯类应用啊,做到一定量级之后都会有广告漏出,也算是一个盈利的入口。 还有更多的闪屏,就直接是一个闪屏,闪屏启动了也没有去后台加载数据,比较奇怪。网络慢的时候还有存在的必要,完全为了展示而展示。

自己琢磨的闪屏页预加载数据的方式

实现方式很多,这只是其中一种,我自己也实现过别的很多种方法

<activity
      android:name=".main.view.SplashActivity"
      android:configChanges="orientation|keyboardHidden|screenSize"
      android:screenOrientation="portrait"
      android:theme="@style/AppTheme.NoActionBar.Splash" />
<activity
      android:name="com.liananse.main.view.MainActivity"
      android:launchMode="singleTask"
      android:screenOrientation="portrait"
      android:theme="@style/AppTheme.NoActionBar.Splash" >
      <intent-filter> 
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
</activity>
<style name="AppTheme.NoActionBar.Splash">
    <item name="android:windowIsTranslucent">@bool/windowIsTranslucent</item>
    <item name="android:windowBackground">@color/transparent</item>
</style>
@Override
protected void onCreate(Bundle savedInstanceState) {
      startActivity(new Intent(this, SplashActivity.class));
      getWindow().getDecorView().setBackgroundResource(R.color.main_bg);
      super.onCreate(savedInstanceState);
  }

以上搞完,就不用管MainActivity里面如何加载数据啊什么的了。再SplashActivity里面控制显示多久就好了。

参考:
http://blog.waynell.com/2015/11/17/android-cold-start/

上一篇 下一篇

猜你喜欢

热点阅读