Android 避免APP啟動閃黑屏的解決辦法

概述

當系統(tǒng)啟動一個APP時,zygote進程會首先創(chuàng)建一個新的進程去運行這個APP挟憔,但是進程的創(chuàng)建是需要時間的,在創(chuàng)建完成之前烟号,界面是呈現(xiàn)假死狀態(tài)绊谭,因為用戶會以為沒有點到APP而再次點擊,這極大的降低用戶體驗汪拥,谷歌做出反饋去避免這段迷之尷尬达传。于是系統(tǒng)根據(jù)你的manifest文件設(shè)置的主題顏色的不同來展示一個白屏或者黑屏。而這個黑(白)屏正式的稱呼應(yīng)該是Preview Window,即預(yù)覽窗口迫筑。所以宪赶,下面我們就來聊聊這個問題的解決方案。

解決方案

既然決定解決這個問題脯燃,那么從哪里入手呢搂妻,Android在選擇展示黑屏或者白屏的時候,是根據(jù)你設(shè)定的主題而不同的辕棚,也就是說欲主,雖然你的代碼沒有被執(zhí)行邓厕,你的配置文件卻被提前讀取了,用來作為展示Preview Window界面的依據(jù)扁瓢。
所以详恼,我們的解決方案的切入口就是整個APP的manifest文件,更確切的說應(yīng)該是主題配置文件引几。

方案一 :開歷史倒車

這個方案就是禁止加載Preview Window单雾,具體做法如下:

<style name="APPTheme"
    parent="@android:style/Theme.Holo.NoActionBar">
   <item name="android:windowDisablePreview">true</item>
</style>

將APPTheme設(shè)定為啟動的Activity的主題,即可禁止Preview Window她紫,當然硅堆,也有人通過把preview window設(shè)置為全透明,也達成了類似的效果贿讹。
結(jié)果就是渐逃,當你點擊APP時,界面會無響應(yīng)一段時間民褂,然后進入APP茄菊。
我個人強烈不推薦這么做,因為Android想方設(shè)法提升的用戶體驗一下子被你打回解放前赊堪。

方案二:自定義Preview Window

具體方法如下:

<style name="APPTheme" parent="@android:style/Theme.Holo.NoActionBar">
    <item name="android:windowBackground">@drawable/splash_icon</item>
</style>

同樣將主題設(shè)置到啟動的Activity的主題中面殖,windowBackground就是即將展示的preview window。其中splash_icon可以是一整張圖片哭廉,網(wǎng)上很多小伙伴也都是這么做的脊僚。其實它也可以是一個能解析出圖片資源的XML文件,好像只有l(wèi)ayer-list這種能做得到,因為它能夠?qū)⒍鄠€drawable疊加起來展示遵绰。

<?xml version="1.0" encoding="utf-8"?>
  <layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque">
<item android:drawable="@color/white"/>
<item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/qq"/>
</item>
</layer-list>

這樣設(shè)置之后辽幌,當你點擊APP,會立馬進入你配置的界面椿访,然后啟動歡迎頁乌企;
好了,啟動頁做到這個份兒上成玫,應(yīng)該就可以交貨了加酵,不過還有一個小問題需要大家注意的,那就是我們給Preview Window設(shè)置的背景圖如果不做處理哭当,圖片就會一直存在于內(nèi)存中猪腕,所以,當我們進入到歡迎頁的時候荣病,不要忘了把背景圖設(shè)置為空:

 @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    //將window的背景圖設(shè)置為空
    getWindow().setBackgroundDrawable(null);
    super.onCreate(savedInstanceState);
}

需要注意的是有些手機標題欄和狀態(tài)欄也會影響這兩圖層的码撰,造成抖動效果,為了避免這種情況需要這歡迎頁面設(shè)置為如下:

 <style name="GuideTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@drawable/windowbackground</item>
    <item name="android:windowFullscreen">true</item>
    <item name="windowNoTitle">true</item>
</style>

到這里个盆,關(guān)于Android啟動頁的相關(guān)問題就都講完了脖岛。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朵栖,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子柴梆,更是在濱河造成了極大的恐慌陨溅,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绍在,死亡現(xiàn)場離奇詭異门扇,居然都是意外死亡,警方通過查閱死者的電腦和手機偿渡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門臼寄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人溜宽,你說我怎么就攤上這事吉拳。” “怎么了适揉?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵留攒,是天一觀的道長。 經(jīng)常有香客問我嫉嘀,道長炼邀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任剪侮,我火速辦了婚禮拭宁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘票彪。我一直安慰自己红淡,他們只是感情好,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布降铸。 她就那樣靜靜地躺著,像睡著了一般摇零。 火紅的嫁衣襯著肌膚如雪推掸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天驻仅,我揣著相機與錄音谅畅,去河邊找鬼。 笑死噪服,一個胖子當著我的面吹牛毡泻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播粘优,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼仇味,長吁一口氣:“原來是場噩夢啊……” “哼呻顽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丹墨,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤廊遍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贩挣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喉前,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年王财,在試婚紗的時候發(fā)現(xiàn)自己被綠了卵迂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡绒净,死狀恐怖狭握,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疯溺,我是刑警寧澤论颅,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站囱嫩,受9級特大地震影響恃疯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜墨闲,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一今妄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鸳碧,春花似錦盾鳞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至套利,卻和暖如春推励,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肉迫。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工验辞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人喊衫。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓跌造,卻偏偏與公主長得像,于是被迫代替她去往敵國和親族购。 傳聞我的和親對象是個殘疾皇子壳贪,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,072評論 25 707
  • 前言 相信做過Android的朋友都知道陵珍,當一個APP啟動時,界面會首先展示一個白屏或者黑屏撑碴,然后再進入歡迎頁撑教,稍...
    拉丁吳閱讀 17,924評論 32 100
  • 作為客戶資源最大的管理者部門,客服部的作用在于深入挖掘客戶價值醉拓,實現(xiàn)客戶價值伟姐。對于目前的市場情況來說,傳統(tǒng)的汽車4...
    797962524707閱讀 255評論 0 2
  • 春去秋來花葉凋亿卤,流年易逝韶華老 對鏡理殘妝愤兵,脂粉掩愁銷 雙眼波無痕,玉容不再嬌 孤影嘆自憐排吴,借酒萬事了
    流云飛過詩與夢閱讀 225評論 0 9
  • 近來很少回憶童年 亦很少談及 大概是支撐童年的物事 都一一離我遠去吧 我想 童年結(jié)伴摘樹莓的茶葉山 樹莓尚有秆乳,茶葉...
    懶墨閱讀 242評論 2 5