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
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Generare la software bill of material (SBOM) in GitHub
Estrarre dati randomici da una lista di oggetti in C#
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Generare un hash con SHA-3 in .NET
Scrivere selettori CSS più semplici ed efficienti con :is()
Creare una libreria CSS universale: i bottoni
Creare agenti facilmente con Azure AI Agent Service
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Utilizzare Container Queries nominali
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Migliorare la sicurezza dei prompt con Azure AI Studio