App应用假秒开

我们在自己开发一款app应用时,会发现每次启动时,都会出现一段时间的白屏状态,但是当我们打开QQ,微信就没有这种状态,他们像是秒开一样。我之所以称之为“假秒开”,是因为这个解决方案并没有实际上解决应用加载的时间,而是给人视觉上的秒开。
为了实现QQ和微信的这种“秒开”状态,我们需要自定义Theme
自定义如下:

<!--android端秒开优化-->
    <style name="AppWelcome" parent="AppTheme.NoActionBar">
        <!--背景图片-->
        <item name="android:windowBackground">@drawable/img_frame_background</item>
    <!--这里可以设置其他属性,比如屏幕显示方向等-->
    </style>

在引导页的Activity中指定其Theme

<activity
            android:name=".main.WelcomeActivity"
            android:theme="@style/AppWelcome"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

在引导页中不加入任何内容,直接跳转到主界面就ok了

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
    finish();
}

这种方式就能实现app应用的“秒开”现象。

另外,还有一个从源头上解决这个问题,在下贴上链接,由于未能理解,所以不在此记录,还请明白的朋友能指导一二。
http://android.jobbole.com/84541/

猜你喜欢

转载自blog.csdn.net/wangchaohx/article/details/52578252