1. 程式人生 > >Android開發之解決APP啟動白屏或者黑屏閃現的問題

Android開發之解決APP啟動白屏或者黑屏閃現的問題

在做搜芽的過程中,發現那個外包人緣做的不行,因為啟動的時候會停頓,然後白屏一會,聯想到幾個月前我在我的三僚企業通訊軟體裡面拉起9K-Mail的時候也會黑屏,所以決定學習一下。解決一下。這不,萬能的網路還是非常有用的。

在這裡總結一下。

(參考及轉載:http://www.2cto.com/kf/201409/339293.html)

歡迎頁啟動的執行緒由於請求和處理的資料量過大而,導致歡迎頁在出現之前介面上會有一個短暫的白色閃屏停留,當然白色閃屏的停留是因為 application 的主題樣式android:theme=@style/AppTheme 使用了 Theme.Light 題導致的,Light 樣式的 windowBackground、colorBackground、colorForeground 等屬性的值均為 light 也就是白色偏亮,所以才會出現白色閃屏。下面是我的 APP 出現白色閃屏時樣式引用的程式碼:

?
1 <style name="AppTheme"parent="android:Theme.Light"type="text/css"><br><br>  </style>

簡單的修改後,閃屏顏色為黑色,程式碼如下:

?
1 <style name="AppTheme"parent="android:style/Theme.Black.NoTitleBar.Fullscreen"type="text/css"
>  </style>

程式碼修改後引用的樣式為黑色主題,但歡迎頁仍然會有黑色閃屏短暫的停留。繼續進行修改,設定透明屬性為 true,程式碼如下:

?
1 <style name="AppTheme"parent="android:style/Theme.Black.NoTitleBar.Fullscreen"type="text/css"><item name=android:windowIsTranslucent>true</item></style>

經過這次的修改之後黑色閃屏現象消失了,最終達到了自己理想的效果。最後,經過查閱資料發現已經有人總結和處理過這類問題了,並且給出了優缺點的分析,我在這裡以我的理解對其進行引用。

原來避免黑色閃屏有2種方法,分別為:1.為 Theme 設定背景圖;2.為 Theme 設定透明屬性。顯然我採用的是第二種方式,先分別看看這2種方式所引用的程式碼:

?
1 <!-- 為 Theme 設定背景圖 --><style name="AppTheme"parent="android:style/Theme.Black.NoTitleBar.Fullscreen"type="text/css"><item name=android:windowBackground>@drawable/splash_bg</item></style>
?
1 <!-- 為 Theme 設定透明屬性 --><style name="AppTheme"parent="android:style/Theme.Black.NoTitleBar.Fullscreen"type="text/css"><item name=android:windowIsTranslucent>true</item></style>

上面的2種 Theme 中,為 Theme 設定背景圖後程序在啟動的時候,會首先顯示這張圖,避免發生黑屏;為 Theme 設定透明屬性,程式啟動後不會黑屏而是透明,等到介面初始化完成後才一次性顯示出來。下面是兩種方式的優缺點:

  • 為 Theme 設定背景圖 給人程式啟動快的感覺,介面先顯示背景圖,然後再重新整理其他介面控制元件,重新整理不同步。
  • 為 Theme 設定透明屬性 給人程式啟動慢的感覺,介面會一次性刷出來,重新整理同步。

    但是問題有出現了,原先在配置了activity的切換動畫效果,設定完android:windowIsTranslucent=true之後切換動畫失效了。暫時我也不知道android系統的theme屬性之間關係的錯綜複雜,繼承來繼承去的。。。為什麼會出現這種問題,不過還好無意間找到了解決辦法

    ?
    1 2

    相關推薦

    Android開發解決APP啟動或者閃現的問題

    在做搜芽的過程中,發現那個外包人緣做的不行,因為啟動的時候會停頓,然後白屏一會,聯想到幾個月前我在我的三僚企業通訊軟體裡面拉起9K-Mail的時候也會黑屏,所以決定學習一下。解決一下。這不,萬能的網路還是非常有用的。 在這裡總結一下。 (參考及轉載:http://ww

    android開發提高應用啟動速度_splash頁面瞬間響應_避免APP啟動

    Application和Activity中的onCreate都進行了優化,基本沒有耗時操作,但是啟動應用之後還是會閃現一下白色背景,然後才進入Splash頁面,對比了一下QQ、微信、微博等客戶端,點選之後都是瞬間響應Splash啟動頁,差別在哪裡呢。其實就算你onCreate

    解決Android App第一次啟動時顯示或者的問題

    關於這個問題,首先得搞清楚一個概念,冷啟動,所謂冷啟動是指手指點下啟動圖示到第一個Activity介面呼叫onCreat方法之間的這段時間;那麼在這一段時間內究竟是如何操作的?發生了什麼導致白屏或者黑屏一段時間呢? 因為App在啟動的時候會啟動一個程序,在初始化的過程中,會消耗一部分時間,

    Android 解決APP啟動時出現短暫的或者

    很多時候,我們啟動APP時會有短暫的白屏或者黑屏,大概1~2秒後,才會顯示主介面或者顯示啟動頁,這是為什麼呢?本篇文章來介紹一下,並給出APP啟動秒開的解決辦法。 1、為什麼APP啟動時會出現白屏或者黑屏? 當開啟一個Activity時,如果這個Activity所屬的應用還

    (原創)解決APP啟動的問題

    APP啟動時需要大量的時間進行初始化操作,包括application的初始化以及MainActivity的初始化 在這個過程中,可能會出現白屏的情況 也就是使用者點選啟動圖示後 首先看到的是一片白色的螢幕 這樣的體驗肯定是不好的 而且如果設定了Splash頁面,進入

    Android APP啟動時出現或者怎麼辦?

    1、為什麼APP啟動時會出現白屏或者黑屏? 當開啟一個Activity時,如果這個Activity所屬的應用還沒有在執行,系統會為這個Activity所屬的應用建立一個程序,但程序的建立與初始化都需要時間,在這個動作完成之前系統要做什麼呢?如果沒有任何反應的話

    Android APP啟動時出現或者

    問題描述: 啟動APP時會有短暫的白屏或者黑屏,大概1~2秒後,才會顯示主介面或者顯示啟動頁。 問題原因: 開啟一個Activity時,如果這個Activity所屬的應用還沒有在執行,系統會為這個Activity所屬的應 用建立

    解決啟動Android應用程式時出現或者的問題

    通過設定主題來防止白屏或者黑屏 一般情況下,啟動頁面通常是全屏的,而且會用一張圖片來展示使用者開啟應用程式後第一眼看到的介面。在手機中點選應用程式的圖示到應用程式顯示完MainActivity的檢視這個過程中,通常會用一到兩秒的時間。在預設activity的主

    解決APP啟動或者閃現的問題

    解決辦法,自定義Theme,有兩種方法,第一種Theme就是設定一張背景圖。當程式啟動時,首先顯示這張背景圖,避免出現黑屏。第二種Theme是把樣式設定為透明,程式啟動後不會黑屏而是整個透明瞭,等到介面初始化完才一次性顯示出來。 //1、設定背景圖Them

    android應用程式啟動時短暫或者解決處理方案

             最近在研究使用app的過程中發現有的app首次啟動的時候會有短暫的白屏,而有些app則不會出現這樣的情況.起初我以為是手機的問題.但是當我換了幾個手機進行測試的時候仍然會出現這樣的狀況.當然出現白屏這樣的效果肯定是不會給使用者行雲流水般的感覺了,接下來我們

    Android開發原生APP和Web APP的區別個人見解

    Native App開發Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機作業系統要採用不同的語言和框架進行開發,該模式通常是由

    Android開發解決設定GridView的邊框

    在專案中遇到了如何給GridView設定邊框的問題,查閱後發現,一種方式是自己新增View,另一種方式是給GridView的item新增background。主要說一下第二種方式。 使用用到layer-list標籤進行設定。程式碼如下: <layer-list xml

    Android開發--從app中跳轉到淘寶店鋪

    首先、一個工具類   方法,檢測該包名下的應用是否存在 public static boolean checkPackage(Context context ,String packageName) { if (packageName == null || "".

    專案總結3:ionic3開發App啟動過程中部分手機出現問題終極解決方案

    問題場景:採用ionic3開發的App,當專案比較大的時候,會出現部分真機裝置在啟動的過程中有白屏或黑屏的情況。 原因預測:個別手機,尤其是安卓手機的效能比較差,App在啟動後進入首頁或登入頁前的初始化工作還沒有完成。 方案總結:在網上查過很多資料發現大部分的解決辦法都是

    解決Android app啟動問題

    1.解決app啟動白屏問題 介紹兩種方式 載入首頁頁面前,進行頁面或者顏色過渡,使用者體驗感好 第一步設定一下主題色為透明 <!-- 應用啟動頁(StartingWindow)的theme --> <style name="AppTheme.Startin

    Android 解決APP啟動時出現問題

    1、問題描述 當我們首次啟動APP時,再到APP的第一個頁面展示出來之前,這段時間會有幾秒的白屏或者是黑屏出現。這樣給使用者的體驗是十分不好的。 2、問題出現的原因: 當我們在啟動一個應用時,系統會檢查是否已經存在這樣一個程序,如果沒有,Android系統

    Android APP啟動解決辦法

    平時發現自己寫的APP,啟動後總有幾秒的白屏,很噁心,所以下決心改一下! 下面這個是全域性的的Style <style name="AppTheme" parent="Theme.Ap

    android App啟動

    顯示 draw 出現 com pan code 文件中 class 但是 app啟動的時候在啟動也顯示之前會出現白屏或黑屏的情況。 主要是因為視圖沒有及時填充上造成的,解決方式如下: 在style中添加以下代碼: <style name="SplashTheme"

    Android app啟動優化

    可以看到啟動的時候會有一個白屏, 如果手機較慢的話, 這個白屏就會持續一段時間, 不太友好. 那麼還有沒有什麼辦法優化呢? 給我們的應用視窗弄一個PlaceHolder Android最新的Material Design有這麼個建議的. 建議我們使用一

    帶你重新認識:Android Splash頁秒開 解決啟動長時間的問題

    原理 我們之前設定了Window透明,實現了去掉白屏和黑屏,現在要弄一個顏色或者圖片來代替白屏和黑屏,所以首先要把原來style中的透明屬性去掉。然後給Window設定一個背景顏色或者圖片。 實現步驟 1、首先在res/drawable下新建一個layer-list