android启动白屏的分析,Android 启动白屏,跳转黑屏以及冷启动优化
一,白屏
現象:啟動app,白屏一段時間后才出現歡迎頁android
解決:shell
1,添加styleapp
true
或者ide
@mipmap/welcome
其中@mipmap/welcome是一個歡迎頁圖片。相比之下第二種的更好一點,能夠達到秒啟動。第一種會有短暫的卡頓,而后顯示啟動頁。測試
2,在Manifest中設置給WelcomeActivity優化
android:name=".main.login.WelcomeActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.Launcher">
3,這樣改變了整個app的主題,咱們須要在WelcomeActivity中把咱們原本的主題設置回去線程
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 咱們原本的style
setTheme(R.style.AppTheme_NoActionBar)
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
setContentView(R.layout.activity_welcome)
}
這樣解決了白屏的問題。3d
二,黑屏
現象:由一個界面跳轉到另外一個界面時出現黑屏,而后才顯示后一個界面。code
分析:通常都是由于給AppTheme添加了windowIsTranslucent,這樣過渡時前一個Acitivity被finish掉了,然后一個還沒顯示出來。就會出現黑屏。blog
解決:把AppTheme的windowIsTranslucent屬性去掉。
@color/colorPrimaryDark
@color/colorPrimaryDark
@color/colorAccent
三,啟動時間優化
咱們一般須要在application中作一下三方庫的初始化。這些操做都會影響咱們的啟動速度。
此時咱們能夠把這些操做放到子線程中完成。如:
new Thread(new Runnable() {
@Override
public void run() {
init();
}
}).start();
只是舉個栗子,不要內存泄漏了。
四,檢測啟動時間
能夠經過adb命令來測試冷啟動和熱啟動的耗時,
adb shell am start -W [包名]/[包名.類名]
如。
總結
以上是生活随笔為你收集整理的android启动白屏的分析,Android 启动白屏,跳转黑屏以及冷启动优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用C语言编写的简历,一份用C语言写的简历
- 下一篇: android sd大小,android