语言

View.GetDrawingCache(Boolean) 方法

定义

返回在其中缓存此视图绘图的位图。

[Android.Runtime.Register("getDrawingCache", "(Z)Landroid/graphics/Bitmap;", "GetGetDrawingCache_ZHandler")]
public virtual Android.Graphics.Bitmap? GetDrawingCache(bool autoScale);
[<Android.Runtime.Register("getDrawingCache", "(Z)Landroid/graphics/Bitmap;", "GetGetDrawingCache_ZHandler")>]
abstract member GetDrawingCache : bool -> Android.Graphics.Bitmap
override this.GetDrawingCache : bool -> Android.Graphics.Bitmap

参数

autoScale
Boolean

指示当应用程序处于兼容模式时,是否应根据屏幕的当前密度缩放生成的位图。

返回

如果禁用缓存,则表示此视图的位图或 null。

属性

注解

返回在其中缓存此视图绘图的位图。 禁用缓存时,返回的位图为 null。 如果启用了缓存并且缓存尚未准备就绪,此方法将创建它。 启用缓存后,调用 #draw(android.graphics.Canvas) 不会从缓存中绘制。 若要从缓存中受益,必须通过调用此方法来请求绘图缓存,并在返回的位图不为 null 时在屏幕上绘制它。

请注意兼容性模式下的自动缩放:如果未启用自动缩放,此方法将创建与此视图大小相同的位图。 由于此位图将由父 ViewGroup 缩放,因此屏幕上的结果可能会显示缩放项目。 为了避免此类项目,应通过将自动缩放设置为 true 来调用此方法。 但是,这样做将生成一个大小与视图不同的位图。 这意味着应用程序必须能够处理此大小。

此成员已弃用。 在 API 11 中引入硬件加速呈现时,视图绘图缓存已基本过时。 使用硬件加速时,中间缓存层基本上是不必要的,由于创建和更新层的成本,很容易导致性能净损失。 在极少数情况下,缓存层非常有用(例如,对于 alpha 动画), #setLayerType(int, Paint) 请使用硬件呈现来处理这种情况。 对于视图层次结构或单个视图的一小部分软件呈现的快照,建议从Canvas视图创建Bitmapandroid.graphics.Picture调用#draw(Canvas)视图。 但是,不建议使用这些软件呈现的使用,并且与仅硬件呈现功能(如 android.graphics.Bitmap.Config#HARDWARE Config.HARDWARE 位图、实时阴影和轮廓剪辑)存在兼容性问题。 对于 UI 的屏幕截图,建议使用反馈报告或单元测试 PixelCopy API。

Java文档android.view.View.getDrawingCache(boolean)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于

另请参阅