`
亚当爱上java
  • 浏览: 705910 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

对View DrawingCache的理解[转]

 
阅读更多
View组件显示的内容可以通过cache机制保存为bitmap, 使用到的api有

    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)实现。
分享到:
评论

相关推荐

    QGraphicsView(平移/缩放/旋转)

    这样,当用户对`QGraphicsView`进行操作时,实际上是在操作`QGraphicsPixmapItem`,从而实现图片的动态调整。 为了实现“QImageView”这个功能,我们需要创建一个自定义的视图类,继承自`QGraphicsView`。在这个类...

    android 把一个view视图转换成bitmap 保存到本地

    首先,理解`View`是Android UI系统的基础组件,它代表屏幕上的一个可视元素。`View`类提供了绘制自身的方法,如`onDraw()`,开发者可以通过重写这些方法来绘制自定义的图形。`View`还可以包含其他`View`,形成复杂的...

    解析Android中View转换为Bitmap及getDrawingCache=null的解决方法

    Android中经常会遇到把View转换为Bitmap的情形,比如,对整个屏幕视图进行截屏并生成图片;Coverflow中需要把一页一页的view转换为Bitmap、以便实现复杂的图形效果(阴影、倒影效果等);再比如一些动态的实时View为...

    JsonView格式转换

    在实际应用中,JsonView对开发者尤其有用,例如在以下场景: - **API测试**:当开发者测试RESTful API时,可以直接查看返回的JSON响应,而无需通过代码解析。 - **前端开发**:在构建动态网页时,查看后端传递给...

    HexView_hexview如何使用_hexview教程_hexviewdll_hexBIN浏览_hexview_源码.zip

    本文将详细介绍HexView的使用方法,包括基本操作、高级功能以及源码分析,帮助你深入理解并熟练运用这款软件。 **一、HexView的基本使用** 1. **启动与界面介绍** 启动HexView后,你会看到一个简洁的界面,分为两...

    HexView___Hex使用工具

    标题中的“HexView”是一款用于处理十六进制(HEX)数据的专业工具,它提供了诸如转换、填充和查看等功能,帮助用户对二进制数据进行分析和操作。在IT行业中,尤其是在软件开发、数据分析和安全领域,理解并能熟练...

    HexView资源-Vector

    HexView通常是一个十六进制查看器,用于查看和分析二进制文件的内容,它能显示数据的十六进制表示以及对应的ASCII字符,这对于理解文件结构、查找特定模式或者调试程序非常有用。 在IT行业中,矢量数据通常指的是用...

    HexView(Vector)V1.09.01

    总之,HexView(Vector)V1.09.01是一款不可或缺的工具,无论你是专业开发人员、系统管理员还是对计算机底层操作感兴趣的爱好者,都能从中受益。通过其强大的查看、编辑和转换功能,HexView使得处理二进制数据变得...

    Hex View(十六进制查看编辑器)

    在计算机科学和信息技术领域,对数据进行低级别分析时,十六进制查看(Hex View)是一种必不可少的工具。标题中的"Hex View"是一个专为此目的设计的十六进制查看编辑器,它允许用户查看和编辑文件的原始十六进制代码...

    让popupwindow显示在view的上方并与该view水平居中对齐

    通过阅读和理解这些代码,将有助于加深对PopupWindow用法的理解,并能灵活运用到自己的项目中。 总之,PopupWindow是Android开发中的一种强大工具,掌握其基本用法和各种定制技巧,能帮助我们创建出更美观、易用的...

    jsonview json 高亮显示插件

    "jsonview" 是一个针对浏览器的插件,专门设计用来帮助开发者更好地查看和理解JSON格式的数据。在没有jsonview插件的情况下,浏览器会将JSON数据以纯文本的形式显示,这对于大量和复杂的JSON数据来说,阅读起来非常...

    asn1view查看器

    asn1view是一款专业的ASN.1(Abstract Syntax Notation One)解析和查看工具,它能够帮助用户深入理解并分析证书及其他ASN.1编码的数据结构。在IT行业中,尤其是在网络安全、通信协议和数字证书等领域,ASN.1是广泛...

    ViewServer-解决View Hierarchy不能启动

    总的来说,`ViewServer`是一个对Android开发者非常有用的工具,尤其是在`Hierarchy Viewer`不再支持的情况下。通过理解和使用`ViewServer`,开发者可以继续高效地调试UI布局,优化用户体验。同时,阅读和学习其源码...

    【JsonView(可视化工具)】

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,广泛用于Web应用程序之间的...无论你是Web开发者、数据分析师还是简单的数据消费者,掌握如何使用JsonView都将提升你的工作效率和对JSON数据的理解。

    view3ds转换3ds文件为c文件

    标题 "view3ds转换3ds文件为c文件" 涉及的核心技术是3D模型数据格式转换,以及OpenGL在C/C++环境中的应用。3ds是Autodesk 3D Studio Max软件创建的一种流行三维模型文件格式,它包含了模型的几何形状、材质、纹理和...

    swift-View2ViewTransition简单的框架实现两个视图切换及转场

    `View2ViewTransition`框架提供了一种简单的方法来实现在两个视图之间平滑过渡,而无需深入理解复杂的动画和转场API。这个框架的核心目标是简化Swift中的视图控制器(UIViewController)转场过程,使得开发者可以更...

    基于SystemView的数字信号基带传输系统.doc

    SystemView 提供的仿真环境可以对数字基带传输中的某些问题加以仿真、分析,帮助我们进一步加深对这些抽象概念的理解,并加深感性认识。数字基带传输系统的典型模型包括发送端、传输信道和接收端。发送端将数字基带...

    Hex View(十六进制查看编辑器),Vector出品

    5. **硬件编程**:在对嵌入式系统或微控制器编程时,需要直接操作二进制数据。 总的来说,Hex View作为一款强大的十六进制查看编辑器,对于需要处理底层二进制数据的专业人士来说,是一个非常实用的工具。通过其...

    asn1view证书查看

    3. 深度分析:asn1view可能还提供了对证书的深度分析功能,比如检查签名算法的强度、验证证书链的完整性,或者查看证书的扩展信息。 4. 导出和导入:用户可以将解析的结果导出为文本或二进制文件,以便进一步处理或...

Global site tag (gtag.js) - Google Analytics