Endlessly increasing memory allocations
Posted: 16 Feb 2026, 08:25
I'm finding a steadily increasing amount of allocated memory by Noesis (3.2.7) between multiple matches in my Unity app for Meta Quest (Android).
There's several world space UIs, but they (the NoesisWorldUi's) along with the NoesisView are all destroyed at the end of each program state.
That is, they are created for the main menu, then destroyed when going into a match. They are then created within a match, and destroyed at the end of the match.
In one series of tests, after swapping between some menu scenes, the memory had reached this point by the start of the first match:
Accumulated: 265047320
Current: 21140344
Allocs: 983074
By the start of the second:
Accumulated: 332761976
Current: 21948936
Allocs: 1448473
By the start of the third:
Accumulated: 399827368
Current: 22387264
Allocs: 1910425
These values have been sampled with
Noesis.Memory.Accumulated
Noesis.Memory.Current
Noesis.Memory.Allocs
There's very little going on beyond the basic Noesis functionality here. Loading of xaml's/etc. is done by Noesis within the provided Unity components (NoesisWorldUi, NoesisView), so I can't intuitively see any opportunity for me to be doing anything differently.
I've also subscribed to logs. I'm not sure what to expect, but something I have noticed is that xaml's are loaded several times over. There's no sign of any "unload" logs.
Is there any guidance on how to go about debugging this problem space, or documentation regarding cleaning up UI's that I am missing (rather than just destroying their game objects?).
Thank you.
There's several world space UIs, but they (the NoesisWorldUi's) along with the NoesisView are all destroyed at the end of each program state.
That is, they are created for the main menu, then destroyed when going into a match. They are then created within a match, and destroyed at the end of the match.
In one series of tests, after swapping between some menu scenes, the memory had reached this point by the start of the first match:
Accumulated: 265047320
Current: 21140344
Allocs: 983074
By the start of the second:
Accumulated: 332761976
Current: 21948936
Allocs: 1448473
By the start of the third:
Accumulated: 399827368
Current: 22387264
Allocs: 1910425
These values have been sampled with
Noesis.Memory.Accumulated
Noesis.Memory.Current
Noesis.Memory.Allocs
There's very little going on beyond the basic Noesis functionality here. Loading of xaml's/etc. is done by Noesis within the provided Unity components (NoesisWorldUi, NoesisView), so I can't intuitively see any opportunity for me to be doing anything differently.
I've also subscribed to logs. I'm not sure what to expect, but something I have noticed is that xaml's are loaded several times over. There's no sign of any "unload" logs.
Is there any guidance on how to go about debugging this problem space, or documentation regarding cleaning up UI's that I am missing (rather than just destroying their game objects?).
Thank you.