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)
请使用硬件呈现来处理这种情况。 对于视图层次结构或单个视图的一小部分软件呈现的快照,建议从Bitmap
视图创建Canvas
或android.graphics.Picture
调用#draw(Canvas)
视图。 但是,不建议使用这些软件呈现的使用,并且与仅硬件呈现功能(如 android.graphics.Bitmap.Config#HARDWARE Config.HARDWARE
位图、实时阴影和轮廓剪辑)存在兼容性问题。 对于 UI 的屏幕截图,建议使用反馈报告或单元测试 PixelCopy
API。
适用于 . 的 android.view.View.buildDrawingCache(boolean)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
另请参阅
适用于
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)
请使用硬件呈现来处理这种情况。 对于视图层次结构或单个视图的一小部分软件呈现的快照,建议从Bitmap
视图创建Canvas
或android.graphics.Picture
调用#draw(Canvas)
视图。 但是,不建议使用这些软件呈现的使用,并且与仅硬件呈现功能(如 android.graphics.Bitmap.Config#HARDWARE Config.HARDWARE
位图、实时阴影和轮廓剪辑)存在兼容性问题。 对于 UI 的屏幕截图,建议使用反馈报告或单元测试 PixelCopy
API。
适用于 . 的 android.view.View.buildDrawingCache()
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。