在很多時候,我們需要給乙個layout設定乙個背景。例如,我們下下面的layout中使用了這樣乙個背景:
<?xml version=」1.0″ encoding=」utf-8″?>
其中的linearlayout使用了 背景antelope_canyon。
如果仔細觀察程式的執行過過程,我們首先看到了黑色的activity背景,然後才看到背景圖被載入,那是因為在activity start以後,我們才能呼叫setcontentview設定我們的layout,然後才繪製我們在layout中放置的背景圖。而在此之前,程式中繪製的是android中預設黑色背景。 這樣會給使用者感覺我們的activity啟動較慢。
然而,如果將背景圖定義在乙個主題中,如下:
<?xml version=」1.0″ encoding=」utf-8″?>
然後在activity中使用這個主題 :
執行程式,可以看到背景圖馬上顯示了,沒有再看到黑色的背景圖。
為什麼會有這樣的現象呢?那是因為 程式的主題是在程式啟動的時候載入的,而不是在activity啟動之後載入!
而如果在layout使用背景,背景圖是在activity啟動之後才載入,故而會讓使用者看到乙個黑色背景閃動的過程。
Android UI優化方案
通常來說,android需要把xml布局檔案轉換成gpu能夠識別並繪製的物件。這個操作是在displaylist的幫助下完成的。displaylist持有所有將要交給gpu繪製到螢幕上的資料資訊。listview adapter優化 overdraw 過度繪製 描述的是螢幕上的某個畫素在同一幀的時間...
Android UI效能優化 Overdraw
什麼是overdraw?overdraw就是螢幕上某個畫素點在同一幀被繪製了多次。在多層布局結構中,不可見部分也會被繪製。舉個例子,乙個白色頁面上有乙個按鈕。系統首先繪製白色背景,然後在白色背景上繪製按鈕,最後在按鈕背景上繪製按鈕內容。那麼按鈕和按鈕內容就造成了overdraw。其實overdraw...
Android UI效能優化(渲染)
谷歌05年初發布效能優化典範,是的開發者學會如何去識別 診斷 解決安卓應用開發中所存在的效能問題。首當其衝的便是渲染的效能優化。在正常的開發中,可以移除不必要的background,以減少繪製的程度。如設定了主布局檔案的背景顏色,就可以移除listview以及listview的items中的一些ba...