maui
maui copied to clipboard
Garbage Collection causes a freeze with Shell.
Description
After updating to the latest preview for Visual studio my maui app no longer works as intended on android. it already didnt work on ios for me.
What i see when i have a debugger is attached is that my shell loads in and then I see the app freeze and the console is filled with GC messages.
Explicit concurrent mark compact GC freed 224KB AllocSpace bytes, 0(0B) LOS objects, 79% free, 6219KB/30MB, paused 1.455ms,8.847ms total 81.461ms
I think this has to do with shell. As a test i already removed all but one flyoutitems from my shell but to no avail. I also removed my image from my flyout item thinking maybe its due to loading in the image. but to no avail.
I then changed my app so it loads in the first page i have as my flyoutitem as its own page outside of the shell structure. now i dont have the GC feed. So i think its something to do with the Shell itself.
Seeing as i cant exacly share the entire app since it requires access to our backend to properly work ill share the files i think are most relevant. My appshell. https://gist.github.com/Gekidoku/3c3e34201c4f0df59e7362e4a313338d
This is called the old fashioned .net 8 way. the assignment to AppShell is to a static variable so I can peek into it during debugging. Its never used to get the instance of the shell.
if (Shell.Current == null)
{
AppShell = new AppShellPlanning() { BackgroundColor = Colors.Black };
Current.MainPage = App.AppShell;
}
Seeing as my screen doesnt freeze when SplashPage is called on its own i dont think whatever is in there is relevant.
Video demonstrating the issue the WebM and mp4 were too big.
Also for some reason my dotnet-dsrouter android cant use adb from my working directory but when i do it in a console from the same directory i can connect to my phone just fine. so geting GC dumps is a bit of a challenge.
Steps to Reproduce
No response
Link to public reproduction project repository
No response
Version with bug
9.0.0-rc.2.24503.2
Is this a regression from previous behavior?
Yes, this used to work in .NET MAUI
Last version that worked well
Unknown/Other
Affected platforms
Android, iOS
Affected platform versions
No response
Did you find any workaround?
No
Relevant log output
No response