Wie .net Maui Seitenaufbau beschleunigen?

1 Antwort

Ein paar Tipps, die mir spontan dazu einfallen:

  1. Komprimiere die Bilder. Vermutlich sind sie dein Hauptproblem.
  2. Sicherlich ist es nicht notwendig, alle Daten von Anfang an zu laden, da sie eh erst nach bestimmten Nutzeraktionen angezeigt werden. Lade Inhalte also erst, sobald sie benötigt werden (es gibt dafür auch Hooks, für Pages wird bspw. das Appearing-Event gefeuert), ruhig auch asynchron. Bereits geladene Inhalte (die wiederverwendet werden sollen) kann man im Arbeitsspeicher halten / cachen. Das heißt für dein View, dass du Komponenten nicht unbedingt komplett entfernst, sondern eher das IsVisible-Property verwendest, um dessen Rendering zu kontrollieren. Ressourcen (z.B. Streams), die du hingegen nicht mehr benötigst, sollten so früh wie möglich wieder freigegeben werden.
  3. Verwende für Data Binding, wo möglich, Compiled Bindings.
  4. Schau noch einmal deinen XAML-Code durch. Eventuell kann das Layout vereinfacht werden.

Des Weiteren solltest du dein Programm mit einem Profiler analysieren (schau hier), um die Peaks zu finden.

Syler902 
Fragesteller
 30.09.2023, 10:05

Okay ich danke dir. Da sind eine Menge Dinge die ich mir erstmal ergooglen muss ^^ zu den Bildern, also wenn ich die Daten laden lasse mitnoder ohne Bilder bleibt sich von der Ladezeit tatsächlich gleich . Hatte auch zuerst ans komprimieren gedacht. Compiled bindings weiß ich noch nichts von ( bin auch noch relativ am Anfang meiner programmier Karriere ^^) und mit dem nur laden von Inhalten die auch tatsächlich gebraucht werden da redest du von lazy loading wenn ich mich nicht irre oder ? Aufjedenfall schon mal grosses Dankeschön für deine ausführliche Antwort :-)

0
regex9  30.09.2023, 10:37
@Syler902
(...) mitnoder ohne Bilder bleibt sich von der Ladezeit tatsächlich gleich (...)

Dann definitiv erst mit dem Profiler prüfen, um sicherzustellen, dass du die Hauptprobleme findest und somit den Arbeitsaufwand effizienter gestaltest.

Compiled bindings weiß ich noch nichts von (...)

Ich habe den Begriff mit einem Doku-Artikel verlinkt. 😉 Es setzt allerdings voraus, dass du auch Data Binding nutzt.

(...) da redest du von lazy loading wenn ich mich nicht irre (...)

Ja, genau.

1