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冷启动优化的主要内容,如果未能解决你的问题,请参考以下文章