歡迎屏幕頁面簡介
飛濺屏幕頁面,我們手機上的所有應用程序幾乎都有自己的飛濺屏幕。也就是說,在實際進入程序之前,一頁會停止幾秒鐘。事實上,在這幾秒鐘里,我們可以充分利用很多程序來初始化啟動。
宣言
為什么我的app啟動可以是白色屏幕或黑屏?
有時候我們發(fā)現(xiàn),啟動自己的APP時,總是有白色屏幕(黑屏),白色屏幕(黑屏)過后才能進入APP。(威廉莎士比亞。哈姆雷特。)那為什么呢?
模擬效果
現(xiàn)在讓我們模擬一下白色屏幕的效果。
20190522-打開飛濺。gif
打開應用程序時,可以看到白屏出現(xiàn)。當然,這個演示應用程序沒有那么復雜。所以為了達到這個效果,我睡在了應用程序上。(大衛(wèi)亞設)。
@Override
Public void onCreate() {
();
MyApplication=this
Try {
t(2000);
} catch (InterruptedException e) {
e . printstacktrace();
}
}
這樣會出現(xiàn)這種白屏的效果,所以可以得出結(jié)論:如果程序很復雜,很多初始化都放在應用程序中完成,這時第一次打開程序需要很長時間,而且會出現(xiàn)白屏效果。
因此,此程序在打開Activity時,如果此Activity所屬的應用程序尚未運行,則首先為此Activity創(chuàng)建進程,在創(chuàng)建進程時調(diào)用Application的onCreate方法。流程生成和onCreate內(nèi)部初始化需要時間,如果這個時間太長,沒有任何反應,對用戶來說是不知道的,用戶認為自己沒有到達,所以很明顯,在原來的頁面上等待加載是不可能的。這時會出現(xiàn)StartingWindow(PerviewWindow)。StartingWindow是在應用程序進程完成創(chuàng)建和初始化之前出現(xiàn)的臨時窗口。相應的WindowType是TYPE_APPLICATION_STARTING,通知用戶系統(tǒng)已在接收任務,正在初始化程序,初始化完成后將刪除
所以我們看到的白色屏幕或黑色屏幕是StartingWindow,為什么是白色或黑色呢?我們通常在我們的應用程序和活動中設置Theme,系統(tǒng)根據(jù)我們設置的Theme確定StartingWindow的顏色。我們都知道窗口布局的頂部是DecorView,StaringWindow顯示空的DecorView,但此DecorView應用了我們的Activity指定的Theme。如果我們的基本Theme是@ android3360 style,這時就會出現(xiàn)白屏。黑屏采用了@ android:style。好了,現(xiàn)在知道為什么會出現(xiàn)白屏或黑屏了。順便說一下,活動安排的繪圖順序:
背景繪制View本身的內(nèi)容繪制子View繪制修飾內(nèi)容(如滾動條),解決黑白屏幕問題
上面我們已經(jīng)知道為什么會出現(xiàn)這個問題。那么解決就簡單了。起始頁的風格加上一個背景就可以了。這樣可以達到超開放的效果。
style name=' splash them ' parent=' apptheme '
itemname=' Android 3360 window background ' @ drawble/splash/item
itemname=' Android : windwofullscreen ' true/item
/style
設定的這個背景和我的起始頁相匹配就可以了!
個人號碼。png
1.《【ap黑屏是怎么回事】APP啟動白屏黑屏故障排除》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《【ap黑屏是怎么回事】APP啟動白屏黑屏故障排除》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/why/3042372.html