1. 程式人生 > >解決app一開啟白屏和黑屏的問題

解決app一開啟白屏和黑屏的問題

這是複製一位大神的,並親測過:用作後續複習

連結:http://www.cnblogs.com/liqw/p/4263418.html

你會很奇怪,為什麼有些app啟動時,會出現一會兒的黑屏或者白屏才進入Activity的介面顯示,但是有些app卻不會如QQ手機端,的確這裡要做處理一下。這裡先了解一下為什麼會出現這樣的現象,其實很簡單,簡歷一個簡單的例子就可以理解了。

其實,黑屏或者白屏這裡並不是不正常,而是還沒載入到佈局檔案,就已經顯示了window視窗背景,黑屏白屏就是window視窗背景。程式碼如下,可以自己寫個小demo就理解了。

1 2 3 4 5 6 7 8 9 10 11 12 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 注意:新增3秒睡眠,以確保黑屏一會兒的效果明顯,在專案應用要去掉這3秒睡眠 try { Thread.sleep(3000); catch (InterruptedException e) { e.printStackTrace(); } // 在這裡之前,黑屏或者白屏都是window的背景顏色,是視窗背景,還沒到介面的佈局呢,要執行setContentView後才顯示佈局
setContentView(R.layout.activity_launcher); }

那window視窗背景在那裡提供呢?在提供theme裡面,如下提供的是白色背景,那就是啟動時白屏一會兒的顏色設定。

1 2 3 4 5 6 <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <item name="android:windowNoTitle"
>true</item> <item name="android:windowBackground">@color/white</item> <!-- All customizations that are NOT specific to a particular API-level can go here. --> </style>

所以,在theme設定windowBackground就可以解決啟動時白屏黑屏一會兒了,下面提供三種解決方案:

一、提供.png背景圖

提供背景圖是解決的一個方法,但是要適配各種螢幕,提供很多張圖片。除非圖片非常複雜只能用背景圖了就用這種方法吧,否則個人不建議。

二、提供.9.png(NinePatch)背景圖片

如果圖片不是很複雜,可以做成NinePatch圖片,那就直接製作NinePatch圖片,提供一張就可以適配任何手機,何樂而不為呢。

三、使用Layout-list製作背景圖片

如果可以使用這種方式,推薦使用這種Layout-list製作背景圖片。前2種都是使用圖片佔用記憶體啊,使用Layout-list比較省記憶體,做出app也不會說因為圖片多體積變大吧。

 下面給出程式碼。

LaunchActivity為啟動介面停留3秒後跳轉到主頁面MainActivity,為了達到顯示黑屏白屏的效果更明顯,在setContentView之前執行緒睡眠3秒。

1 2 3 4 5 6 7 8 9 10 11 12 13

相關推薦

解決app開啟的問題

這是複製一位大神的,並親測過:用作後續複習 連結:http://www.cnblogs.com/liqw/p/4263418.html 你會很奇怪,為什麼有些app啟動時,會出現一會兒的黑屏或者白屏才進入Activity的介面顯示,但是有些app卻不會如Q

安卓VerticalViewPager+Fragment+SurfaceView滑動時SurfaceView出現問題解決

最近在做和抖音一樣的上下滑動切換視訊的功能,用的是VerticalViewPager+Fragment+SurfaceView。中間遇到了一個問題就是每次滑動切換介面時正在顯示視訊畫面的SurfaceView控制元件總是變白,鬆手後又正常顯示畫面,特此記錄一下解決方法,下次再遇到,好回來查閱,也希望

Qt使用QWebengineView導致花現象

Qt自5.6版本以來已經放棄了Webkit,其內建的瀏覽器控制元件使用的是chromium核心,對應用的類是QWebengieView及QWebengiePage類。近日,在專案中使用了QWebengieView類做一個定製版的瀏覽器,但奇怪的是,在某些舊顯示卡機器上啟動程式時,瀏覽器頁面顯示了花屏的現象,百

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

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

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

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

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

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

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

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

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

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

ubuntu Debian deepin 顯卡安裝 卡死解決辦法

linu 分鐘 選擇 nvi grep upd 再看 ora 提升性能 硬件型號 命令查詢,終端執行: lspci |grep -i ‘VGA‘ #查看默認集成顯卡型號 lspci |grep -i nvidia #查看NVIDIA類型的顯卡型號 sudo dme

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

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

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

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

Android APP啟動時出現或者

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

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

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

解決android 應用首次啟動的時候,閃現短暫的

解決方案: 在清單檔案中的activity使用android 主題Theme.Translucent.NoTitleBar ... <activity

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

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

Android app啟動秒開並避免

本篇記錄Android 開發常見的一個優化點:冷啟動優化。冷啟動也就是應用本來沒有啟動,這時我們點選桌面圖示或者使用adb啟動應用。 問題:我們在桌面點選某些app圖示時會感覺卡頓了一下才彈出app啟動頁,或者啟動時先白屏或黑屏一會才顯示啟動頁。這樣給使用者的體驗不太好。

webView程式 第一次載入頁面是出現或是或是其他

問題描述:webView程式 第一次載入頁面是出現2秒(很短暫的時間)白屏或是黑屏或是其他頁面之後再加載出webview頁面 問題原因:webview是android中的一個控制元件,首先建立Acti

匯入虛擬機器vmware,此主機支援Intel VT-x,但Intel VT-x處於禁用狀態

解決方法:進入BIOS(按什麼鍵進入bios,需要看你用什麼電腦),把Intel Virtualization Technology         設定enabled 然後是黑屏解決方法:管理員模式cmd,輸入 netsh winsock reset 再重啟

次小米 note3 開機處理過程

從第一次購買小米的藍芽音箱,到後面自己以及推薦家人購買小米、紅米手機,再到購買路由器、智慧攝像頭、耳機這些周邊產品,自己也慢慢成為了一個米粉。今天下班後,女朋友說她的小米 note3 黑屏宕機了,重啟無效。頓時對小米略感失望,兩千塊錢的手機剛用半年而已。想到送到

android AppCompat, splash啟動)全,去掉狀態列,以及splash與虛擬按鍵遮擋

在做專案是,需要加一個splash,以美化應用,消除app啟動等待的乏味 一、使用環境         使用Android Studio activity 繼承 AppCompatActivity, 實現splash功能         測試環境,沒有虛擬返回按鍵的安卓手機