maui icon indicating copy to clipboard operation
maui copied to clipboard

Garbage Collection causes a freeze with Shell.

Open Gekidoku opened this issue 4 months ago • 5 comments

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

Gekidoku avatar Oct 18 '24 12:10 Gekidoku