0

I am currently struggling with memory management inside a webgl application on the web, on iOS only.

I keep getting the following error message :

Application 'UIKitApplication:com.apple.Preferences[0xa7c1]' was killed by jetsam.

I understand that Jetsam is the system process responsible for memory management, but the crash occurs while the browser uses around 25% of the device's RAM, which is not that high. I don't have any other open application while running my webGL content. What I don't understand is what Taun Chapman said :

Jetsam monitors memory use and kills applications which are not good memory citizens. A good memory citizen is an application which is willing to give back memory when asked and does not keep asking for more memory.

Well, the app needs more memory in a short time (when unzipping 3D models using workers), I can't continue my app without it! And it crashed at these particular times.

Moreover, I think I have some memory leaks in my app, according to Chrome DevTools I am currently trying to fix. But the browser itself seems to have some leaks too. Thus, fixing mine will just delay the inevitable.

I know the following question is odd, or inappropriate, but do you know if the jetsam "limit" can be increased ? Or if you can add an exception on the currently running WebGL app ?

For your information, I use the Three.js WebGL library and the zip.js library to compress my 3D models.

Yes, I've already read the following question : Why does simple website crash on mobile (iOS Safari and Chrome, at least)?, but the problem does not come from my CSS.

Hellium
  • 7,206
  • 2
  • 19
  • 49

1 Answers1

0

The 10.3.2 version of iOS (released the 15th of May) made Jetsam less aggressive, or at least, the memory is better handled.

https://support.apple.com/en-gb/HT207798

Hellium
  • 7,206
  • 2
  • 19
  • 49