Back to results for “Performance”
.NET MAUI › Performance & Optimization

How do you reduce MAUI app startup time?

Intermediate

Answer

Defer non-critical work out of MauiProgram and page constructors; lazy-load services; minimize the initial visual tree; use AOT/startup tracing where available; reduce reflection (compiled bindings, source-gen JSON); and avoid heavy synchronous I/O during launch. Measure with the profiler before optimizing.
// Defer heavy init instead of doing it in the constructor
protected override async void OnAppearing()
{
    base.OnAppearing();
    await _vm.LoadAsync();
}
Real-world example Moving analytics and data preloading off the startup path cuts cold-launch time below the platform's ANR threshold.

Common follow-ups: What is startup tracing? | Why avoid work in constructors?