Flutter Android應用啟動白屏的解決方案
問題產(chǎn)生
默認生成的flutter工程,在啟動時候會白屏,設備性能越差,白屏時間越長。原生Android開發(fā)也會遇到類似問題,啟動會產(chǎn)生白屏或者黑屏問題。在Android開發(fā)中通常是設置一個主題文件,這里不展開說。
如何解決
flutter其實已經(jīng)提供了解決方案。打開flutter工程目錄“\android\app\src\main”下的AndroidManifest.xml文件,可以看到如下內(nèi)容:
這里英文的大意是:在flutter渲染第一幀之前,可以通過這里的配置顯示一個Android view,用來顯示一張啟動圖片。對于app啟動加載和flutter開始渲染之間的一段時間,起到一個良好的過渡??偠灾?,這里的配置就是來實現(xiàn)我們的啟動圖片,消除白屏或者黑屏。
這里要注意一下,我當前用的flutter版本是2.12.0,低版本的配置不是這樣的,但是大概原理相同。
看到這里我們就已經(jīng)知道,去修改“@drawable/launch_background”好了。
<?xml version="1.0" encoding="utf-8"?> <!-- Modify this file to customize your launch splash screen --> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/white" /> <!-- You can insert your own image assets here --> <!-- <item> <bitmap android:gravity="center" android:src="@mipmap/launch_image" /> </item> --> </layer-list>
改成如下:
<?xml version="1.0" encoding="utf-8"?> <!-- Modify this file to customize your launch splash screen --> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:gravity="fill" android:src="@mipmap/doubanio" /> </item> </layer-list>
mipmap/doubanio是你放在mipmap目錄下的一張png格式的圖片。這樣app再啟動的時候就不是白屏,而是一張你自定義的圖片。
android:gravity="fill"的意思是將圖片設置為拉伸,可以達到鋪滿全屏的效果。
另外要注意的是工程目錄下會有多個drawable和mipma文件,記得都要做修改。
總結(jié)
到此這篇關于Flutter Android應用啟動白屏解決的文章就介紹到這了,更多相關Flutter Android應用啟動白屏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android自定義View繪制貝塞爾曲線實現(xiàn)流程
貝塞爾曲線的本質(zhì)是通過數(shù)學計算的公式來繪制平滑的曲線,分為一階,二階,三階及多階。但是這里不講數(shù)學公式和驗證,那些偉大的數(shù)學家已經(jīng)證明過了,所以就只講講Android開發(fā)中的運用吧2022-11-11詳解Android TabHost的多種實現(xiàn)方法 附源碼下載
這篇文章主要為大家詳細介紹了Android TabHost的多種實現(xiàn)方法 文章中針對每一種實現(xiàn)方法都附有源碼進行下載,感興趣的小伙伴們可以參考一下2016-05-05