Complete

This is by design.

The settings are being serialized to send to the simulator or phone.

opening settings editor consumes app memory

sdk 4.0.7
eclipse CIQ plug in: 4.1.0.beta1
eclipse ver: 2021-09 (4.21.0) Build id: 20210910-1417
windows 10
watch face
minSdkVersion 2.4.0

CASE 1

wf starts, peak memory 88.0

[ecilpse][app settings editor] - open only window and choose project (no push any buttons), peak memory 90.0

CASE 2

wf starts, peak memory 88.0

[simulator][property data]  - open only window (no push any buttons), peak memory 90.0

In both cases there is no calls for app.onSettingsChanged, settings data exist in memory so there shouldn't additional memory consumption.

Now, when you have e.g. 90.5 kB used from 92 there is an error "unable to serialise data" or "out of memory exception" if i choose OK in setting editor.

  • I can point you at many apps, with 100's of thousands of downloads, great reviews, and that use app setting.

    If you don't like the way App Settings works, you can also use on devices settings instead. (CIQ 3.2 and above)

  • Read reviews about some Garnmins applications, quality and scope of functionality (time and steps usually, if more complex max 2 day on battery and lags)...

    Yes, you have to consider this and errors, bugs, mistakes and even bad designs. 

    Everybody knows how it should be made problems is nobody fix it.

    And moving application settings to iq store, and of course with errors and bugs - bummer...

  • The memory needed for app settings is something you need to consider when designing and building an app. 92k is actually on the larger size for a watch face, where the fr45 only allows 48k, and others, 64k.

    Garmin itself writes many CIQ apps using the same stuff we use.

  • Solution is simple, Garmin should use the same things offerers developers and see how is difficult is to write something more than time/date and 2 notification with 94kB - 70kB for system things

  • For example, I have an app that doesn’t load resources, so the number of settings strings don’t affect the amount of memory used at runtime. I had an opportunity to try to save memory by moving some fairly large fixed data into a JSON resource. But as soon as I call loadResource, the whole resource table is loaded into memory permanently, which includes memory for the app settings string entries.

    My app actually uses *more* memory after moving data into a JSON resource.