Nelle applicazioni Windows Phone il testo e le immagini sono gli elementi caratterizzanti per rappresentare e mostrare informazioni. Le immagini possono essere incluse nel pacchetto dell'applicazione, ma spesso vengono scaricate attraverso la rete e mostrate a video. Questa apparente semplice operazione coinvolge il download del file, il decoding dell'immagine e il rendering sul display, ma tutto ciò può diventare pesante e rendere meno fluida la navigazione quando le immagini sono molteplici e presentate in una lunga lista.
Per migliorare le prestazioni di download è sempre buona norma scaricare dalla rete immagini della risoluzione esatta che occorre per il rendering. Oltre a questo, è stato introdotto in Windows Phone 7.1 un attributo che indica al motore di effettuare sul thread secondario non solo il download dell'immagine, ma anche il decoding, influendo ancor meno sulla fluidità.
Ecco quindi un semplice esempio che dichiara un'immagine e sfrutta il nuovo BitmapCreateOptions.BackgroundCreation.
<Image> <Image.Source> <BitmapImage UriSource="{Binding UriImage}" CreateOptions="BackgroundCreation,DelayCreation"/> </Image.Source> </Image>
Un'altra opzione già impostata sull'oggetto BitmapImage, ma che occorre specificare se si specifica CreateOptions, è DelayCreation, che indica di scaricare e mostrare l'immagine solo quando necessario e quindi utile per collezioni di immagini.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Le novità di .NET 7 e C# 11
Abilitare automaticamente Dependabot in tutti i repository di una organizzazione su GitHub
Taggare la output cache in base al routing in ASP.NET Core
Montare blob e file share su Azure App Service
Effettuare il pull di git LFS in un workflow di GitHub
Creare moduli CSS in React
Gestire il fallimento di uno step in un workflow di GitHub
Gestire tipi complessi in query string grazie a IParsable in ASP.NET Core 7.0
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core
Sopprimere gli errori di concorrenza quando si elimina una entity con Entity Framework 7
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Catturare la telemetria degli eventi di output cache in ASP.NET Core