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
Limitare le richieste lato server con l'interactive routing di Blazor 8
Disabilitare automaticamente un workflow di GitHub
Ottimizzazione dei block template in Angular 17
Creazione di componenti personalizzati in React.js con Tailwind CSS
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Load test di ASP.NET Core con k6
Utilizzare un service principal per accedere a Azure Container Registry
Inizializzare i container in Azure Container Apps
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Generare file per il download da Blazor WebAssembly
Usare il colore CSS per migliorare lo stile della pagina