Un'app lenta ad avviarsi viene disinstallata. Queste sono le tecniche che hanno più impatto sulle prestazioni di un'app .NET MAUI.
1. Layout semplici
Ogni livello di layout annidato costa tempo di misura e disegno. Una Grid con righe e colonne sostituisce spesso tre o quattro StackLayout uno dentro l'altro.
2. Binding compilati
Con x:DataType sulle pagine e sui DataTemplate, i binding vengono risolti a compilazione invece che con la reflection a runtime.
3. Lavoro lontano dall'avvio
public partial class HomeViewModel(ICatalogo catalogo) : ObservableObject
{
[ObservableProperty]
public partial IReadOnlyList<Prodotto> InEvidenza { get; set; } = [];
// chiamato dalla pagina in OnAppearing, non nel costruttore
[RelayCommand]
private async Task CaricaAsync() => InEvidenza = await catalogo.InEvidenzaAsync();
}
Registra i servizi come transient o lazy, carica i dati quando la pagina appare e rimanda tutto ciò che non serve alla prima schermata.
4. Trimming e AOT
In Release il trimming rimuove il codice non usato e riduce le dimensioni dell'app. Su iOS e Mac Catalyst si può attivare Native AOT, con avvii più rapidi e minore memoria:
<PropertyGroup Condition="'$(TargetFramework)' == 'net10.0-ios'">
<PublishAot>true</PublishAot>
</PropertyGroup>
5. Immagini
Usa immagini della dimensione giusta per lo schermo, formati compressi e cache per quelle scaricate dalla rete. Un'immagine da dieci megapixel in una miniatura spreca memoria e tempo.
Misurare
Prova sempre in configurazione Release su dispositivi reali, anche economici: l'emulatore su un PC potente nasconde molti problemi.
Commenti (0)
Nessun commento ancora.