Hello everybody. I hope someone will could help me :smile:
I'm trying to explain why my application has crashed with an out of memory interruption. I captured the memory state of my Quest just after a reboot with a "adb shell dumpsys meminfo" and I saw :
Total RAM : 3.881.224K Free RAM : 2.334.507K Used RAM : 1.452.993K Lost RAM : -56.676K
I think free ram and used ram values are ok. Then I launched my app which takes 1.5Go in ram memory (big app...). So it should be Ok. After exiting my app (with crash) I captured again memory state :
Total RAM : 3.881.224K Free RAM : 1.240.407K Used RAM : 1.465.181K Lost RAM : 1.026.836K
I said to myself "ok it's probably a memory leak. Don't worry". I checked runtime memory leak by a runtime memory profiling on Quest with OvrMetricsTool and on PC with Unity profiler. The memory was stable. I ran Quest app many times and the system memory state remains stable with Lost RAM around 1.000.000K and Free RAM 1.250.000K. I rebooted the Quest and I dit the same test with an another game of the studio. The result was the same but smaller. I 've had 300.000k on Lost Memory... (the game is smaller).
I think when i launch my game, it involves a 1.000.000K loss memory and then try to use its 1.5Go and badaboom crash with "out of memory".
It's not possible to reuse this "lost memory" without reboot the Quest (Edit: After other tests, some of this lost memory is reused. It's look like cache system ? so why is it considered as "lost memory" ?). By searching on Internet Lost memory is the memory that have been lost by the OS or that have been reserved by other task which has nothing to do with OS (kind of drivers).
So my questions are :
What do you think of this ?
Is it possible memory leaks could involve an irreversible memory loss by the system ?