Separate / ALL-in-One App support for watches

Hi All,

was just thinking... about the CIQ App limitations (memory), over the weekend when I was using the BikeFields datafield and the thing keep on going to the TIMER screen!! I tot it was crashing!

1) Datafields gets 16kb vs Watchfaces 64kb
2) Dead Code or "unused" codes bloat up the memory allocation
3) int / Float / Double / arrays all adds up in terms of memory usage (some more than others)

So, as I have effectively bundled my RunField / BikeFields datafield as an all-in-one, coupled w/ bad coding/inefficient coding practices - I am reaching the ceiling of the memory size.

I have found that doing #2 (basically by doing per device support) will provide more leeway against app crashes - i'm already at 14kb of 16kb on some cases.
but the downside to doing this is that well - I own the F3 only and if I were to separate the apps - there's a high chance that given there being no "incentive - in whatever form besides Kudos / Star ratings" - I'll likely fall into the "forgo the other watches and focus on what I have (F3) cos it's what I want/need.

I've also read that doing layouts will eat up more memory - hence I didn't even pursue this part.

Note : ends up - I realised after the fact that I had the CLIMB Screen feature turned on and it was flipping to the CLIMB screen and I forgot to set the CLIBMB screen to the correct Screen position.
  • The advantage to using layouts is that the compiler will build binaries for each supported device, effectively compiling out the generated layout code for the other devices. In my experience switching to a layout results in fewer bits of device-specific code and memory savings.

    Travis