Freigeben über


View.BuildDrawingCache Methode

Definition

Überlädt

BuildDrawingCache(Boolean)

Erzwingt das Erstellen des Zeichnungscaches, wenn der Zeichnungscache ungültig ist.

BuildDrawingCache()

Das Aufrufen dieser Methode entspricht dem Aufrufen buildDrawingCache(false)von .

BuildDrawingCache(Boolean)

Erzwingt das Erstellen des Zeichnungscaches, wenn der Zeichnungscache ungültig ist.

[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

Parameter

autoScale
Boolean
Attribute

Hinweise

Erzwingt das Erstellen des Zeichnungscaches, wenn der Zeichnungscache ungültig ist.

Wenn Sie manuell ohne Anrufe anrufen #buildDrawingCache()#setDrawingCacheEnabled(boolean) setDrawingCacheEnabled(true), sollten Sie den Cache bereinigen, indem Sie danach anrufen #destroyDrawingCache() .

Hinweis zur automatischen Skalierung im Kompatibilitätsmodus: Wenn die automatische Skalierung nicht aktiviert ist, erstellt diese Methode eine Bitmap mit der gleichen Größe wie diese Ansicht. Da diese Bitmap von der übergeordneten ViewGroup skaliert wird, zeigt das Ergebnis auf dem Bildschirm möglicherweise Skalierungsartefakte an. Um solche Artefakte zu vermeiden, sollten Sie diese Methode aufrufen, indem Sie die automatische Skalierung auf "true" festlegen. Auf diese Weise wird jedoch eine Bitmap mit einer anderen Größe als die Ansicht generiert. Dies bedeutet, dass Ihre Anwendung diese Größe verarbeiten kann.

Sie sollten diese Methode vermeiden, wenn die Hardwarebeschleunigung aktiviert ist. Wenn Sie die Bitmap für den Zeichnungscache nicht benötigen, erhöht das Aufrufen dieser Methode die Speicherauslastung und führt dazu, dass die Ansicht einmal in der Software gerendert wird, wodurch sich die Leistung negativ auswirkt.

Dieses Mitglied ist veraltet. Der Ansichtszeichnungscache wurde mit der Einführung des hardwarebeschleunigten Renderings in API 11 weitgehend veraltet. Mit Hardwarebeschleunigung sind zwischengespeicherte Cacheebenen weitgehend unnötig und können aufgrund der Kosten für die Erstellung und Aktualisierung der Ebene leicht zu einem Nettoverlust der Leistung führen. In den seltenen Fällen, in denen Zwischenspeicherungsebenen nützlich sind, z. B. für Alphaanimationen, #setLayerType(int, Paint) wird dies mit dem Hardwarerendering behandelt. Für softwarerenderte Momentaufnahmen eines kleinen Teils der Ansichtshierarchie oder einzelner Ansichten wird empfohlen, eine Canvas aus einem oder android.graphics.Picture einem Bitmap Aufruf #draw(Canvas) der Ansicht zu erstellen. Diese softwarerenderten Verwendungen werden jedoch abgeraten und haben Kompatibilitätsprobleme mit hardwaregeschützten Renderingfeatures wie android.graphics.Bitmap.Config#HARDWARE Config.HARDWARE Bitmaps, Echtzeitschatten und Gliederungsausschnitten. Für Screenshots der Benutzeroberfläche für Feedbackberichte oder Komponententests wird die PixelCopy API empfohlen.

Java-Dokumentation für android.view.View.buildDrawingCache(boolean).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Weitere Informationen

Gilt für:

BuildDrawingCache()

Das Aufrufen dieser Methode entspricht dem Aufrufen buildDrawingCache(false)von .

[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
Attribute

Hinweise

Das Aufrufen dieser Methode entspricht dem Aufrufen buildDrawingCache(false)von .

Dieses Mitglied ist veraltet. Der Ansichtszeichnungscache wurde mit der Einführung des hardwarebeschleunigten Renderings in API 11 weitgehend veraltet. Mit Hardwarebeschleunigung sind zwischengespeicherte Cacheebenen weitgehend unnötig und können aufgrund der Kosten für die Erstellung und Aktualisierung der Ebene leicht zu einem Nettoverlust der Leistung führen. In den seltenen Fällen, in denen Zwischenspeicherungsebenen nützlich sind, z. B. für Alphaanimationen, #setLayerType(int, Paint) wird dies mit dem Hardwarerendering behandelt. Für softwarerenderte Momentaufnahmen eines kleinen Teils der Ansichtshierarchie oder einzelner Ansichten wird empfohlen, eine Canvas aus einem oder android.graphics.Picture einem Bitmap Aufruf #draw(Canvas) der Ansicht zu erstellen. Diese softwarerenderten Verwendungen werden jedoch abgeraten und haben Kompatibilitätsprobleme mit hardwaregeschützten Renderingfeatures wie android.graphics.Bitmap.Config#HARDWARE Config.HARDWARE Bitmaps, Echtzeitschatten und Gliederungsausschnitten. Für Screenshots der Benutzeroberfläche für Feedbackberichte oder Komponententests wird die PixelCopy API empfohlen.

Java-Dokumentation für android.view.View.buildDrawingCache().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Weitere Informationen

Gilt für: