天天看點

Android性能優化之ViewStub

1.ViewStub之是以常稱之為“延遲化加載”,是因為在教多數情況下,程式無需顯示ViewStub所指向的布局檔案,隻有在特定的某些較少條件下,此時ViewStub所指向的布局檔案才需要被inflate,且此布局檔案直接将目前ViewStub替換掉,具體是通過viewStub.infalte()或viewStub.setVisibility(View.VISIBLE)來完成;

2.下面看一下簡單的需求場景:在listview顯示清單資料時,可能會出現服務端一條資料都沒有的情況,此時顯示一個EmptyView,提示使用者暫無資料。此時考慮到實際應用中EmptyView顯示出來的機會相當小,是以,可以在布局檔案中使用ViewStub站位,然後确實沒有資料時才viewStub.infalte()。

3.ViewStub可以了解成一個非常輕量級的View,與其他的控件一樣,有着自己的屬性及特定的方法。當ViewStub使用在布局檔案中時,當程式inflate布局檔案時,ViewStub本身也會被解析,且占據記憶體控件

轉自:http://www.cnblogs.com/lwbqqyumidi/p/4047108.html

Android性能優化之ViewStub