Android冷启动优化

Posted sharkchao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android冷启动优化相关的知识,希望对你有一定的参考价值。

我们知道新打开一个应用的时候,会出现短暂的白屏或者黑屏,严重影响到我们的用户体验,其实这个过程是launcher启动新进程,进程中启动activity时,会先绑定window,然后使用默认的windowBackground导致的。

下面有三种解决办法:

1.主题切换法:

设置背景为透明:

<style name="AppTheme.Launcher" parent="Theme.AppCompat.Light.NoActionBar">
           <item name="android:windowIsTranslucent">true</item>
 </style>

或者直接修改为图片:

<style name="AppTheme.Launcher" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@drawable/appstart_background</item>
</style>

之后在清单文件中使用:

 <activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:theme="@style/AppTheme.Launcher">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

最后不要忘了在activity中再设置为自己的主题:

public class MainActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.SaoTheme);
        setContentView(R.layout.activity_main);
    }
}

2.在application的oncreate中不要执行耗时操作,新进程启动会先执行application的oncreate。

3.mainActivity的嵌套布局少一点。

以上是关于Android冷启动优化的主要内容,如果未能解决你的问题,请参考以下文章

android冷启动优化

Android 冷启动优化

android 性能优化 -- 启动过程 冷启动 热启动

你必须要掌握的Android冷启动优化

Android冷启动优化

Android冷启动耗时优化