View组件显示的内容能够通过cache机制保存为bitmap, 主要有下面方法:

void  setDrawingCacheEnabled(boolean flag), 


Bitmap  getDrawingCache(boolean autoScale), 


void  buildDrawingCache(boolean autoScale), 


void  destroyDrawingCache()

我们要获取cache首先要通过setDrawingCacheEnable方法开启cache,然后再调用getDrawingCache方法就能够获得view的cache图片了。

buildDrawingCache方法能够不用调用。由于调用getDrawingCache方法时,若果cache没有建立,系统会自己主动调用buildDrawingCache方法生成cache。

若想更新cache, 必需要调用destoryDrawingCache方法把旧的cache销毁。才干建立新的。

当调用setDrawingCacheEnabled方法设置为false, 系统也会自己主动把原来的cache销毁。

   
另外,ViewGroup在绘制子view时,也提供了两个方法

void setChildrenDrawingCacheEnabled(boolean enabled) 


setChildrenDrawnWithCacheEnabled(boolean enabled) 

setChildrenDrawingCacheEnabled方法能够使viewgroup里全部的子view开启cache;

setChildrenDrawnWithCacheEnabled使在绘制子view时。若该子view开启了cache, 则使用它的cache进行绘制。从而节省绘制时间。

获取cache一般会占用一定的内存,所以通常不须要的时候有必要对其进行清理,通过destroyDrawingCache或setDrawingCacheEnabled(false)实现。

最新文章

  1. ASP.NET MVC开发日常一:SessionID合理清除
  2. AE+C# 版本更新问题 命名空间“ESRI”中不存在类型或命名空间名称“Arcgis”(是缺少程序集引用吗?)
  3. 基于现有数据库的Code First模式迁移更新数据库
  4. emmet使用笔记及sublime常用快捷键
  5. JQ 动态添加节点
  6. 【Android Studio安装部署系列】九、Android Studio常用配置以及快捷键
  7. 安装zip版mysql
  8. liunx文件操作 文件压缩
  9. IO密集型和计算密集型
  10. python 全栈开发,Day41(线程概念,线程的特点,进程和线程的关系,线程和python 理论知识,线程的创建)
  11. udp之关于linux udp收发包缓冲区大小
  12. windows安装mysql数据库并修改密码
  13. 【贪心策略】USACO 越野跑
  14. hadoop发行版本
  15. Exce行列变色
  16. HDUOJ-----2571跳舞毯
  17. 外网登陆SAP的两种方式
  18. linux命令 环境设置 顺序
  19. css命名冲突解决方法
  20. 常用vim命令合集

热门文章

  1. 紫书 例题 10-16 UVa 12230(数学期望)
  2. 【Henu ACM Round#19 C】 Developing Skills
  3. COGS——T 8. 备用交换机
  4. 四 HBase 客户端设置缓存优化查询。
  5. Class C++
  6. BZOJ2020: [Usaco2010 Jan]Buying Feed II
  7. Codeforces--602A--Two Bases(水)
  8. centos 6.5搭建Samba
  9. codeforces 701 B. Cells Not Under Attack
  10. Coderfroces 864 E. Fire(01背包+路径标记)