View.BuildDrawingCache 方法

定义

重载

BuildDrawingCache(Boolean)

如果绘图缓存无效,则强制生成绘图缓存。

BuildDrawingCache()

调用此方法等效于调用 buildDrawingCache(false)

BuildDrawingCache(Boolean)

如果绘图缓存无效,则强制生成绘图缓存。

[Android.Runtime.Register("buildDrawingCache", "(Z)V", "GetBuildDrawingCache_ZHandler")]
public virtual void BuildDrawingCache (bool autoScale);
[<Android.Runtime.Register("buildDrawingCache", "(Z)V", "GetBuildDrawingCache_ZHandler")>]
abstract member BuildDrawingCache : bool -> unit
override this.BuildDrawingCache : bool -> unit

参数

autoScale
Boolean
属性

注解

如果绘图缓存无效,则强制生成绘图缓存。

如果在不调用 的情况下手动调用 #buildDrawingCache()#setDrawingCacheEnabled(boolean) setDrawingCacheEnabled(true),则应通过随后调用 #destroyDrawingCache() 来清理缓存。

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

启用硬件加速时,应避免调用此方法。 如果不需要绘图缓存位图,则调用此方法会增加内存使用量,并导致视图在软件中呈现一次,从而对性能产生负面影响。

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

android.view.View.buildDrawingCache(boolean)Java 文档。

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

另请参阅

适用于

BuildDrawingCache()

调用此方法等效于调用 buildDrawingCache(false)

[Android.Runtime.Register("buildDrawingCache", "()V", "GetBuildDrawingCacheHandler")]
public virtual void BuildDrawingCache ();
[<Android.Runtime.Register("buildDrawingCache", "()V", "GetBuildDrawingCacheHandler")>]
abstract member BuildDrawingCache : unit -> unit
override this.BuildDrawingCache : unit -> unit
属性

注解

调用此方法等效于调用 buildDrawingCache(false)

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

android.view.View.buildDrawingCache()Java 文档。

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

另请参阅

适用于