我们在自己开发一款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/