Android冷启动优化

时间:2023-03-09 07:14:54
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的嵌套布局少一点。