Ich habe eine Frage zum Bitmap-Caching in Windows Phone 7 Silverlight-Anwendungen.
Wann soll ich es benutzen? Und auf was kontrolliert? Soll ich Zwischenspeicher für Kinder eines Controllers zwischenspeichern, dessen Bitmap im Cache gespeichert ist? Ich bin mir nicht sicher, wie es funktioniert und es wäre schön, einen Rat von euch zu bekommen.
/ Richard
Ich habe diesen Link gefunden, in dem CacheMode
in erklärt wird Silverlight 3. Über den Link:
[Dieser Link ist tot.]
Ich frage mich, ob das <param name="EnableCacheVisualization" value="true" />
für WP7 aktiviert werden kann, ich verwende EnableCacheVisualization
für ein BitmapCache
und ein LongListPicker
(das ich mit dynamisch erstelltem Inhalt bevölkere) und es wäre interessant zu wissen wenn das Caching funktioniert. Aber nach dem dritten Punkt sollten Sie es nur verwenden, wenn Sie ContentPresenter
s animieren, was ich nicht bin, also sollte ich es vielleicht gar nicht benutzen!
BitmapCache sollte für die große Mehrheit der Objekte etwas sein, über das Sie in Windows Phone 7 nicht nachdenken müssen. Silverlight for WP7 implementiert das automatische Bitmap-Caching von Elementen, die auf eine Weise animiert werden, die das Caching unterstützt (translate, opacity, drehen - vielleicht mehr, ich kann mich jetzt nicht erinnern).
Silverlight auf einem Desktop-PC (oder Mac) ist derzeit nicht ganz so intelligent, daher müssen Sie CacheMode = BitmapCache für Objekte manuell angeben, indem Sie grob die Anweisungen verwenden, auf die Praetorian in seiner Antwort hingewiesen hat.
Es gibt wahrscheinlich Randfälle, in denen BitmapCache explizit auch unter Windows Phone sinnvoll ist, aber ich weiß nichts darüber. Sie können versuchen, die Tipps zur Windows Phone-Leistung auf MSDN zu lesen .
Nach dem, was ich gesehen / gelesen habe, möchten Sie Bitmap-Caching für Objekte verwenden, deren Rendern (wie viele untergeordnete Elemente oder komplizierte Layouts) teuer sein kann, wenn Sie sie in Übergängen oder Animationen verwenden.
Mit Bitmap-Caching kann die Hardware die Übergänge + Animationen schneller / glatter machen.
Ich denke Sie müssen es nur auf das oberste Element / Elternelement setzen, auf das Sie die Transformation oder Animation anwenden? Jemand wird mich bald korrigieren, ich bin mir sicher:)
Tags und Links c# silverlight windows-phone-7