Android启动优化,去除白屏或者黑屏
Android启动优化,去除白屏或者黑屏
注:以下启动介绍来源于网络
App的启动方式介绍
冷启动:
指后台没有改应用的进程,重新创建进程,过程为,实例化Application,然后实例化入口Activity,最后显示Activity.热启动:
后台中存在当前的进程,直接从进程中启动,不用重新创建Application,只需要实例化入口Activity即可
优化App启动过程的三个建议:
Application的创建过程中尽量少的进行耗时操作
如果用到SharePreference,尽量在异步线程中操作
减少布局的层次,并且生命周期回调的方法中尽量减少耗时的操作当然,最有效的还是在Manifest文件中给指定的入口Activity设置一个背景,当进入之后恢复默认背景,这样在显示界面之前都会显示那么被设置的背景,这样就提高了用户体验,至少等待主界面的过程中不是黑屏或者白屏.这也是本笔记完成思路。
- 主题设置
– 在style文件中设置启动主题
<style name="LauncherTheme">
<item name="android:windowBackground">@mipmap/image_splash_background</item>
</style>
- 在AndroidManifest文件中给Activity设置主题
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppNotitleTheme">
<activity android:name=".MainActivity"
android:theme="@style/LauncherTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
- 应用启动完成后恢复默认主题
– 在MainActivity的onCreate方法中
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme_NoActionBar);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launcher);
..
}