Vivoactive instant crash Out of Memory Error on launch.

Former Member
Former Member
I'm trying to run my app on the Vivoactive but I'm getting an out of memory crash immediately with no further logs. The app runs fine on the Fenix 5x, 5x, and Vivoactive 3. It's crashing before the app even has a chance to try and load the first view. I'm wondering if there are limitations on app size or something I'm not handling correctly. I've checked the resources I'm using - I have about 65Kb worth of font files, and about 20Kb worth of image files.

Any ideas about what could cause the Out of Memory Error?

Edit: I've also just tried adding a Sys.println("initialized") statement after AppBase.initialize() and I'm now getting 'Failed loading application'
  • If it's a watch app. the original va has a max of 64k, while the f5/f5s/va3 it's 124k, and the f5k it's even higher.

    How much memory does it show it's using in the sim for say the va3? (there is also File>View Memory in the sim where you can see peak memory and info on # of objects)
  • Former Member
    Former Member
    I never get a chance to view the memory via File->View Memory since it immediately crashes on launch.
  • That's why I suggested looking when you are using the va3 as a target instead of the va. You can see if it's taking more than 64k that way.
  • Former Member
    Former Member
    Ah I see. I just ran it on the va3 and I'm seeing that I'm at 75.9KB. Application Code takes up 37.9KB and Application Data takes up 24KB. So that in itself would take me very close to the 64KB limit. Any suggestions on what to do to limit this? What is Application Data? Reducing my code seems like a big task that will take a lot of restructuring.
  • One thing to note is in "view memory" you see peak memory, while on the bottom line of the sim, you see memory when idle. and not the peak (and it can be much lower). You need to handle the peak. As far as what you see for Application code and Data, doesn't include everything. Go by the memory usage at the top to see the real numbers.

    The easiest way is to simply just not support the original va, but keep in mind, the fr 23x/630/920 have the same limit. After that, there are are a couple ways to approach this. You could just scale things back so it's under 64k on all the devices, or using things like jungle, build file excludes, etc, you could reduce/limit the functionality on devices with only 64k. There's info about this in the programmer's guide.