View.BuildDrawingCache 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
BuildDrawingCache(Boolean) |
如果绘图缓存无效,则强制生成绘图缓存。 |
BuildDrawingCache() |
调用此方法等效于调用 |
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.Picture
Bitmap
但是,不建议使用这些软件呈现的用法,并且存在仅硬件呈现功能(如 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.Picture
Bitmap
但是,不建议使用这些软件呈现的用法,并且存在仅硬件呈现功能(如 android.graphics.Bitmap.Config#HARDWARE Config.HARDWARE
位图、实时阴影和轮廓剪辑)的兼容性问题。 对于反馈报告或单元测试 UI 的屏幕截图, PixelCopy
建议使用 API。
的 android.view.View.buildDrawingCache()
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。