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
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Testare l'invio dei messaggi con Event Hubs Data Explorer
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Referenziare un @layer più alto in CSS
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Utilizzare politiche di resiliency con Azure Container App
Code scanning e advanced security con Azure DevOps
Implementare l'infinite scroll con QuickGrid in Blazor Server
Usare un KeyedService di default in ASP.NET Core 8