不知道大夥有沒有發現,應用第一次啟動的時候一般比較慢(低配置手機尤其如此),黑屏好一段時間,下面是我在模擬器中啟動qq的截圖,黑屏差不多有5秒左右,如下圖所示~
顯然這種結果很糟糕,使用者體驗非常差,那有沒有什麼辦法解決此問題呢,有的人可能會說用splash screen,但這並不靠譜,也不是解決此問題的辦法。
我們都知道當退出乙個應用時,應用的程序並不會被殺死,駐留在後台(有可能被系統殺死),以便下一次能夠比較快速的啟動應用。但應用第一次啟動或者程序被殺死再次啟動時其實需要做一系列的事情,首先得分配乙個程序,然後在程序中例項化乙個dalvik vm
,接著虛擬機會初始化ui主線程。雖然android使用zygote
技術,但做這些工作還是要花費一定的時間。android為了能在這段時間內防止應用阻塞和盡快的響應使用者,會顯示乙個臨時「starting window」給使用者,這個window什麼事也不做,不能獲取焦點也不能處理使用者的觸控。
使用。
前後兩種結果對比可以看出,後者更美觀,也更協調。其實activity之間的切換也會使用到"starting window",只不過時間一般都很短暫,肉眼很難識別出,所以不用做相應的處理。
Android APP啟動優化知識點
1.冷啟動 第一次開始 或是 重灌啟動 2.熱啟動 第二次或之後啟動 3.溫啟動 退到後台,由於某些原因被殺死,但整體資料還儲存 1.shell命令 adb shell am start s w packagename packagename.mainactivity 1.thistime 最後乙個...
讓CSS更規範 讓設計居中
摘自 長文字行難以閱讀。隨著現代顯示器的尺寸越來越大,螢幕可讀性問題變得越來越重要。緩解這個問題的一種方法是讓設計居中。居中的設計只佔螢幕的一部分,而不是橫跨螢幕的整個寬度,這樣就會建立比較短的容易閱讀的行。居中的設計目前非常時髦,所以如何在css中設計居中是大多數開發人員首先要學習的主題之一。讓設...
60 Android app啟動時白屏
系統會在繪製頁面載入布局之前 首先會初始化視窗 window 而在進行這步操作時,系統會根據我們設定的theme來指定它的theme主題顏色。window布局的頂層是decorview,startingwindow顯示乙個空的decorview,進而我們在style中的設定就決定了顯示的是白屏還是黑...