2013-10-13 22 views
1

我剛開始寫一些簡單的android應用程序。我想在我的主要活動中擁有全屏幕背景。我已經完成,通過使用:即時加載活動背景

android:theme="@android:style/Theme.Black.NoTitleBar"

,並在我的佈局文件中設置特定的背景。它有效,但並不完美:|當我啓動我的應用程序時,我看到空白的黑色主題,沒有任何背景約0.5秒,然後我的背景加載。我見過一些商業應用程序,它們的背景負載沒有任何延遲。任何人都可以給我一些提示如何做到這一點?

+0

您的圖片可能太大。大小是多少? –

+0

它只有93.5 KB。我認爲情況並非如此。 –

+0

文件大小意味着什麼。分辨率和顏色深度是多少?我可以創建一個93.5KB的文件,加載時需要超過1MB。 – Simon

回答

2

這就是我害怕的事情。使用大圖像會導致更大的加載時間(將圖像解壓縮爲位圖並將其繪製在屏幕上所需的時間)。

當然,您可以選擇優化此選項。一個明顯的是使用更小的圖像。如果縮小的圖像尺寸符合您的需求或者看起來像素化,您將不得不重視這樣做的利弊。

你可以嘗試的另一件事是使用平鋪位圖,這意味着你有一個小圖像,你可以垂直或水平重複,如果這是可能的應用程序。

您甚至可以在啓動時加載質量較差的圖像,然後啓動後臺任務以在onCreate之後加載位圖,然後在完成後用較好質量的圖像替換初始圖像。 (我不會推薦這種方法)

0

這個問題的原因是活動需要一些時間來渲染。窗口背景將在此之前設置它

這是我面臨的同樣的問題。 我通過製作自定義主題來解決它。

<style name="SplashTheme" parent="Theme.Black.NoTitleBar"> 

    <item name="android:windowBackground">@drawable/splash_pattern_bg</item> 

</style> 

然後使用

android:theme="@style/SplashTheme" 

這將解決您的問題。