View組件顯示的內容能夠經過cache機制保存爲bitmap, 使用到的api有api
void setDrawingCacheEnabled(boolean flag),ui
Bitmap getDrawingCache(boolean autoScale),spa
void buildDrawingCache(boolean autoScale),orm
void destroyDrawingCache()圖片
咱們要獲取它的cache先要經過setDrawingCacheEnable方法把cache開啓,而後再調用getDrawingCache方法就可 以得到view的cache圖片了。buildDrawingCache方法能夠不用調用,由於調用getDrawingCache方法時,若果 cache沒有創建,系統會自動調用buildDrawingCache方法生成cache。若果要更新cache, 必需要調用destoryDrawingCache方法把舊的cache銷燬,才能創建新的。內存
當調用setDrawingCacheEnabled方法設置爲false, 系統也會自動把原來的cache銷燬。get
ViewGroup在繪製子view時,而外提供了兩個方法it
void setChildrenDrawingCacheEnabled(boolean enabled)map
setChildrenDrawnWithCacheEnabled(boolean enabled)方法
setChildrenDrawingCacheEnabled方法能夠使viewgroup裏全部的子view開啓cache, setChildrenDrawnWithCacheEnabled使在繪製子view時,若該子view開啓了cache, 則使用它的cache進行繪製,從而節省繪製時間。
獲取cache一般會佔用必定的內存,因此一般不須要的時候有必要對其進行清理,經過destroyDrawingCache或setDrawingCacheEnabled(false)實現。