安卓View的缓冲机制
2024-08-27 15:03:20
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)实现。
最新文章
- ASP.NET MVC开发日常一:SessionID合理清除
- AE+C# 版本更新问题 命名空间“ESRI”中不存在类型或命名空间名称“Arcgis”(是缺少程序集引用吗?)
- 基于现有数据库的Code First模式迁移更新数据库
- emmet使用笔记及sublime常用快捷键
- JQ 动态添加节点
- 【Android Studio安装部署系列】九、Android Studio常用配置以及快捷键
- 安装zip版mysql
- liunx文件操作 文件压缩
- IO密集型和计算密集型
- python 全栈开发,Day41(线程概念,线程的特点,进程和线程的关系,线程和python 理论知识,线程的创建)
- udp之关于linux udp收发包缓冲区大小
- windows安装mysql数据库并修改密码
- 【贪心策略】USACO 越野跑
- hadoop发行版本
- Exce行列变色
- HDUOJ-----2571跳舞毯
- 外网登陆SAP的两种方式
- linux命令 环境设置 顺序
- css命名冲突解决方法
- 常用vim命令合集
热门文章
- 紫书 例题 10-16 UVa 12230(数学期望)
- 【Henu ACM Round#19 C】 Developing Skills
- COGS——T 8. 备用交换机
- 四 HBase 客户端设置缓存优化查询。
- Class C++
- BZOJ2020: [Usaco2010 Jan]Buying Feed II
- Codeforces--602A--Two Bases(水)
- centos 6.5搭建Samba
- codeforces 701 B. Cells Not Under Attack
- Coderfroces 864 E. Fire(01背包+路径标记)